1
学習の練習では、多次元リストをトラバースし、すべての値を1つの関数/ forループに出力するように求められました。Pythonでリストを再帰的にトラバースする
私の脳は、再帰関数がどのように機能すべきかという基本的な問題を抱えていました。私はいくつかのオンラインの例を使って答えを出しましたが、見つかった値で最初のリストに止まります。
ここで私の訓練の間違いは何でしたか?それはあなたがウォーク(L)を呼び出すとき、それは最初のサブリストをチェックし、それがリストであることを発見し(ループのために次の反復に行くからあなたを停止するよう
def walk(l):
for v in l:
if type(v) is list:
return walk(v)
else:
print(v)
l = [
[1,2,3],
[4,5,6],
[7,8,9]
]
walk(l)
>>1
>>2
>>3
ああ!私がオンラインで見つけたほとんどの再帰関数の例は戻り値を持っていましたが、今ここで意味が分からないのがわかります – Mojimi
はい。しかしここではあなたの例では、副作用のためだけに使用しています。何も返す必要はありません。 – Psidom