Python:求和字符串长度

新手上路,请多包涵

在 Python 中是否有比使用循环更惯用的方法来求和字符串长度?

 length = 0
for string in strings:
    length += len(string)

我试过 sum() ,但它只适用于整数:

 >>> sum('abc', 'de')
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: sum() can't sum strings [use ''.join(seq) instead]

原文由 Zaz 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 715
2 个回答

我知道这是一个老问题,但我不禁注意到 Python 错误消息 告诉 您如何执行此操作:

 TypeError: sum() can't sum strings [use ''.join(seq) instead]

所以:

 >>> strings = ['abc', 'de']
>>> print len(''.join(strings))
5

原文由 Auspex 发布,翻译遵循 CC BY-SA 3.0 许可协议

length = sum(len(s) for s in strings)

原文由 liori 发布,翻译遵循 CC BY-SA 2.5 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题