如何计算python3中列表中每个元素的总和?虽然我能做到,有没有聪明的方法?
data = [[1,2],[1], [3,4,2]]
sum_length = 0
for d in data:
sum_length += len(d)
print(sum_length) # 6
答案 0 :(得分:6)
最短,最快的方式是functional programming style与map()和sum():
>>> data = [[1,2],[1], [3,4,2]]
>>> sum(map(len, data))
6
在Python 2中,使用itertools.imap代替 map 以获得更好的内存性能:
>>> from itertools import imap
>>> data = ['a', 'bc', 'def', 'ghij']
>>> sum(imap(len, data))
10