次のコードがあります。
tree = {'nodes':[1,2,3],'root':[1]}
nodes = tree['nodes']
nodes.remove(2)
print(tree['nodes'])
print(nodes)
出力は次のとおりです。
[1, 3]
[1, 3]
remove
私の質問はばかげているかもしれませんが、メソッドが原因でそのtree
変数も変更された理由がわかりませんか?
nodes
上記の例のように新しい変数を作成すると、この変数に適用されたメソッドはこの変数にのみ影響すると思いました。
tree
この例から、変数にも影響があったと結論付けることができます。
どういうわけかグローバル変数とローカル変数に関連していますか?