は次に例を示します。Python:2つの変数がメモリ内の同じオブジェクトを指しているのはいつですか?
l = [1, 5, 9, 3]
h = l
h[0], h[2] = h[2], h[0]
print(h) # [9, 5, 1, 3]
print(l) # [9, 5, 1, 3]
h = h*2
print(h) # [9, 5, 1, 3, 9, 5, 1, 3]
print(l) # [9, 5, 1, 3]
私の理解で呼び出すh = l
を設定すると、単にl
がで指していたことをメモリ内の同じ項目でh
を指すことでした。だから、最後の3行で、h
とl
は同じ結果を得られないのはなぜですか?
再度 'h 'に割り当てるときに' h'が指すものを変更します。 – user2357112
変数の値が可変であるかどうかによって異なります。リストは変更可能ですが、整数は変更できません。 –
'h = l'を設定すると、' l'に 'h'をポイントします。しかし、 'h = h * 2'を' h'とすると、 – BrenBarn