Python: 计算字符串长度总和

19 投票
8 回答
29949 浏览
提问于 2025-04-16 04:30

有没有比用循环更简单的方法来计算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]

8 个回答

18

我第一种做法是用 sum(map(len, strings))。另一种方法是使用列表推导式或者生成器表达式,就像其他回答里提到的那样。

49

在编程中,有时候我们需要把一些数据从一个地方转移到另一个地方。这就像把水从一个杯子倒到另一个杯子一样。这个过程可能会涉及到不同的工具和方法,具体取决于我们要处理的数据类型和目标。

比如说,如果我们有一个列表,里面装着很多数字,我们可能想把这些数字加起来,或者找出最大的那个数字。这些操作就像是在杯子里搅拌水,看看里面有什么。

有时候,我们还需要把这些数据保存起来,以便以后使用。这就像把水倒进一个瓶子里,确保它不会流失。我们可以使用不同的格式来保存数据,比如文本文件、数据库等等。

总之,数据的转移和处理是编程中非常重要的一部分,掌握这些基本概念会让我们在编写程序时更加得心应手。

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

我知道这个问题已经很久了,但我还是想提一下,Python的错误信息其实会告诉你怎么做:

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

所以:

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

撰写回答