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
如何計算python3中每個元素的總和?雖然我可以做到,但有沒有什麼聰明的方法?Python中每個元素長度的總和
data = [[1,2],[1], [3,4,2]]
sum_length = 0
for d in data:
sum_length += len(d)
print(sum_length) # 6
最短,最快的方式是應用functional programming style與map()和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
你可以使用'sum(map(len,data))'' –
@RaymondHettinger a particularl y漂亮的解決方案,特別是在Python 3上。 –
謝謝@RaymondHettinger – jef