Pythonでリストを定義するときにメモリの無駄遣いをしない方法
a = [1, 2, 2] b = a a = [1, 2] c = a print(b == c)
これは False になる。3行目のaへの代入で新しいメモリが使われる。
a = [1, 2, 2] b = a a[:] = [1, 2] c = a print(b == c)
これはTrueになる。1行目で定義したaのままである。
a = [1, 2, 2] b = a a = [1, 2] c = a print(b == c)
これは False になる。3行目のaへの代入で新しいメモリが使われる。
a = [1, 2, 2] b = a a[:] = [1, 2] c = a print(b == c)
これはTrueになる。1行目で定義したaのままである。