[英]Finding the sum of a nested list without using itertools
a = [[1,2,3],[4,1],[2,2,6],[3]]
a的總和將顯示24
我知道對於[1,2,3]
這樣的單個列表,我只能做sum(a)
但我在嵌套列表中苦苦掙扎。
謝謝。
這不會創建新的臨時列表:
sum(sum(b) for b in a)
sum(sum(a, []))
內部和將所有單個列表組合為一個列表。 然后,外部總和找到實際總和。
對於嵌套多個深度的列表,可以使用以下方法:
def recursiveSum(data):
try:
total = 0
for item in data:
total += recursiveSum(item)
return total
except TypeError: #data isn't iterable, it's probably a number
return data
print recursiveSum([[[[1,2,3],[4,1]],[2,2,6]],3])
輸出:
24
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.