gpt4 book ai didi

python - 查找嵌套整数列表的总和

转载 作者:太空狗 更新时间:2023-10-30 01:55:05 25 4
gpt4 key购买 nike

import math
lists = [1,[2,3],4]
total = 0
for i in range(len(lists)):
total += sum(i)
print(total)

我要打印,

>>>10

但是抛出一个错误。

我想让它把所有数字相加,包括嵌套 if 中的数字。

最佳答案

在您的程序中,for i in range(len(lists)) - 计算结果为 3,因为 lists 对象有 3 个元素。在循环 total += sum(i) 中,它会尝试执行 int + list 操作,这会导致错误。因此,您需要检查类型,然后添加各个元素。

def list_sum(L):
total = 0
for i in L:
if isinstance(i, list):
total += list_sum(i)
else:
total += i
return total

这是@pavelanossov 的评论——以更优雅的方式做同样的事情

sum(sum(i) if isinstance(i, list) else i for i in L)

关于python - 查找嵌套整数列表的总和,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15856127/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com