问题描述
在 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