0
問題は基本的には、同じリストではない新しいリストに新しい参照を返すlist + [something]
を使用していてもリストの内容を変更するリストを持つ関数を呼び出した後ですリストとして。関数に渡した後に破損するリスト
コード例:
def foo(a):
#modifying the list using del and remove
def bar(b):
alist = b
foo(alist + [something])
#at this point alist != the original alist
私もlist(alist)
を使用してTMPのリストを作ってみましたし、alist + [something]
を、私は実際のコードを参照するためにペーストビンここで使用することはできますか?
「alist」は変更しないでください。それはそれの要素を変えるかもしれませんが、それは全く同じことではありません。 –
@ IgnacioVazquez-Abrams要素が変わるのはなぜですか?私たちは 'foo'の中で別のリストを使用していませんか? – Zed
新しいリストを作成しましたが、新しい要素を作成していません。 –