簡體   English   中英

不使用itertools查找嵌套列表的總和

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM