我想用蟒蛇,尋找喜歡Python列表遞歸
[[['a'],'a'],'a']
所以,我寫了一個遞歸函數來得到它得到一個嵌套列表。
def recursion(x,i):
x.append(list('spam'))
x=[x]
i-=1
print('i value is %d'%i)
print(x)
if i>0:
print('start new recursion!')
recursion(x,i)
print('callback x"s value:',x)
#return x
可是,如果我叫喜歡
x=[]
recursion(x,4)
此功能
x的結果是
[['s', 'p', 'a', 'm']]
我不明白,我發現這個功能似乎有GET通過標準輸出x的正確值,
i value is 3
[[['s', 'p', 'a', 'm']]]
start new recursion!
i value is 2
[[[['s', 'p', 'a', 'm']], ['s', 'p', 'a', 'm']]]
start new recursion!
i value is 1
[[[[['s', 'p', 'a', 'm']], ['s', 'p', 'a', 'm']], ['s', 'p', 'a', 'm']]]
start new recursion!
i value is 0
[[[[[['s', 'p', 'a', 'm']], ['s', 'p', 'a', 'm']], ['s', 'p', 'a', 'm']], ['s', 'p', 'a', 'm']]]
callback x"s value: [[[[[['s', 'p', 'a', 'm']], ['s', 'p', 'a', 'm']], ['s', 'p', 'a', 'm']], ['s', 'p', 'a', 'm']]]
callback x"s value: [[[[['s', 'p', 'a', 'm']], ['s', 'p', 'a', 'm']], ['s', 'p', 'a', 'm']], ['s', 'p', 'a', 'm']]
callback x"s value: [[[['s', 'p', 'a', 'm']], ['s', 'p', 'a', 'm']], ['s', 'p', 'a', 'm']]
callback x"s value: [[['s', 'p', 'a', 'm']], ['s', 'p', 'a', 'm']]
請告訴我x會發生什麼,以及爲什麼函數不會返回我想要的x的值。非常感謝,併爲我可憐的英語道歉。
#感謝X我想要得到的所有attention.The值
[[[[[['s', 'p', 'a', 'm']], ['s', 'p', 'a', 'm']], ['s', 'p', 'a', 'm']], ['s', 'p', 'a', 'm']]]
我很抱歉,我錯過了在第一篇文章。
你的問題是不明確的,因爲你當你調用'recursion(x,4)'時不顯示x是什麼,並且你沒有爲這種情況指定期望的輸出 – wim
你期望得到'[[[['s'],'p'] ,'a'],'m']或者:'[[[['s','p','a','m'],['s','p','a',' m'],['s','p','a','m'],['s','p', '''''']]' –
首先感謝,我的錯誤是我沒有顯示我想要的結果。事實上,我想要的結果是'[[['s','p' ,'','m'],['s','p','a','m'],['s','p','a','m'],['s' ,'p','a','m']],再次感謝您的關注。 –