にリストを持ったときに、私は次のコードの理解の問題が生じています:list.pop()関数の一覧状況
は、ここで私はコード化されている例を示します
listA=[]
listB=[]
listA.append(10)
print(listA)
listB.append(listA)
print(listB)
listA.pop()
print(listA)
print(listB)
私は貝に期待していました私が得たもの
[10]
[[10]]
[]
[[10]]
しかし、現実には
だった: 次の結果をプリントアウト10私はこれの背後にある論理を理解していません。コードを次のように変更した場合:
listA=[]
listB=[]
listA.append(10)
print(listA)
listB.append(listA)
print(listB)
listA=[]
print(listA)
print(listB)
これは私が期待したものを得るでしょう。 2つのコードが異なる結果をもたらす理由は誰にでも分かりますが、コードの動作は同じですか?
listAへの参照をlistBに保存してlistAを変更するので、listBも印刷すると変更されます。期待どおりの結果では、リストをコピーまたは複製し、参照を保持しないでください。 – xander
これは、私がこの例で行ったことをやろうとしている場合、私はスタック関数を使用できないということですか? –