再帰とfor-loopの組み合わせを使用して、可能であれば空の一連のネストされたリストにすべてのintを追加するには、関数summer(alist)
を使用します。私のコードは、これまでのところです:ネストされたリストを再帰的に追加する
**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
私の問題は、例えば、リストのことです。
[[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
どのように私は私の機能を介して再帰的に得ることができます:
list1=[[0,[0,1,1]],[0,1],1]
私の結果はこれです全体リスト最初の二重ネストされたリストだけでなく、リスト?戻り値は、forループを終了します
if type(item)==list:
print "The item is a list, containing: "+str(item)
return sum_nested_list(item)
ので:
問題は、あなたの 'return'ステートメントがforループを終了することです。 – Chris
Ah、gotcha。私は今それを削除しようとします。 – Jam
は可能な修正を掲載しました... – Chris