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