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]
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