我正在寻找使用递归和for-loops的组合来使用函数summer(alist)
在可能为空的嵌套列表中添加所有int。到目前为止我的代码是:递归添加嵌套列表
**def summer(alist):**
total=0
print alist
for item in alist:
if type(item)==list:
print "The item is a list, containing: "+str(item)
return sum_nested_list(item)
elif type(item)==int:
print item
total = total + item
print "The total is: "+str(total)
return total
我的问题是,例如列表:
list1=[[0,[0,1,1]],[0,1],1]
我的结果是这样的:
[[0,[0,1,1]],[0,1],1]
The item is a list, containing: [0,[0,1,1]]
[0,[0,1,1]]
0
The item is a list, containing [0,1,1]
[0,1,1]
0
1
1
The total is: 2
2
我怎样才能得到我的函数递归在整个列表,而不只是第一个双重嵌套列表?
问题是你的'return'语句结束for循环 – Chris
啊,陷阱。我会尝试删除它。 – Jam
刚刚发布了一个可能的修复... – Chris