リスト、L = [a,b,c,d]
、およびこのリストのコピーと、再帰コードを含む for ループがあるとします。
for item in L:
if:
*some base code*
Lcopy.remove(item)
L = []
L += Lcopy[:]
else:
*some recursion code*
return ...
しかし、すべての再帰が完了すると、L は元の状態に戻ります。コードが再帰に入ると、Python はそれが使用するリスト (L) に新しいメモリ アドレスを与えることを知っていますが、元の L、つまり最初の L を更新して値を削除することは可能ですか?それは削除されるはずだったのですか?