Python:求和字符串长度

2022-01-09 00:00:00 python list sum

问题描述

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

Is there a more idiomatic way to sum string lengths in Python than by using a loop?

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

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

I tried sum(), but it only works for integers:

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


解决方案

我知道这是一个老问题,但我不禁注意到 Python 错误消息告诉你如何做到这一点:

I know this is an old question, but I can't help noting that the Python error message tells you how to do this:

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

所以:

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

相关文章