pythonのリストに関する質問です。
a=[[0]*2]*2 b=[[0 for i in range(2)]for j in range(2)] print(a) print(b) a[1][1]=1 print(a) b[1][1]=1 print(b)
このプログラムを実行すると
[[0, 0], [0, 0]]
[[0, 0], [0, 0]]
[[0, 1], [0, 1]]
[[0, 0], [0, 1]]
と出力されます
a,bとも同じ要素の2次元リストだと思っていたのですが要素を変更したときの挙動が変わります。aは2箇所、bは1箇所の値が変更されます。
aとbのリストの作り方の違いを教えてほしいです
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2024/04/23 05:16