Python中每个元素长度的总和

时间:2017-03-17 07:20:41

标签: python list

如何计算python3中列表中每个元素的总和?虽然我能做到,有没有聪明的方法?

data = [[1,2],[1], [3,4,2]]
sum_length = 0
for d in data:
    sum_length += len(d)
print(sum_length) # 6

1 个答案:

答案 0 :(得分:6)

最短,最快的方式是functional programming stylemap()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