2017-03-17 47 views
1

如何計算python3中每個元素的總和?雖然我可以做到,但有沒有什麼聰明的方法?Python中每個元素長度的總和

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

你可以使用'sum(map(len,data))'' –

+1

@RaymondHettinger a particularl y漂亮的解決方案,特別是在Python 3上。 –

+1

謝謝@RaymondHettinger – jef

回答

6

最短,最快的方式是應用functional programming stylemap()sum()

>>> data = [[1,2],[1], [3,4,2]] 
>>> sum(map(len, data)) 
6 

在Python 2,使用itertools.imap代替地圖更好的內存性能:

>>> from itertools import imap 
>>> data = ['a', 'bc', 'def', 'ghij'] 
>>> sum(imap(len, data)) 
10 
相關問題