簡體   English   中英

如何在Python的列表列表中添加所有項目

[英]How to add all items in a list of lists in Python

我試圖做出一個定義,將所有數字添加到列表列表中的每個子列表中。

def MassAddition(_list):
    output = []
    total = 0
    for i in _list:
        if isinstance(i, list):
            output.append(MassAddition(i))
        else:
            total = total + i
    output.append(total)
    return output

問題在於,它最后在列表中返回了一個額外的項目。 我認為這是因為我使total = 0,然后將其附加到for循環之外的輸出列表中。 有人可以幫我清理嗎? PS。 該定義應該能夠處理任何級別的嵌套列表。

示例: input = [[0,1,2], [2,1,5],[2,2,2],2,2,1] desiredoutput = [[3],[8],[6],5]

謝謝,

您也可以檢查其他數字的類型。 如果它們只能是int

def mass_addition(lst):
    output = []
    total = 0
    extra_flag = False
    for i in lst:
        if isinstance(i, list):
            output.append(mass_addition(i))
        elif isinstance(i, int):
            extra_flag = True
            total += i
    if extra_flag:
        output.append(total)
    return output

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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