Python のリストのリストに少し困惑しています。次の 2 つのスニペットがあります。
li1 = [['a'], ['a'], ['a']]
print li1
for i in range(0, len(li1)):
li1[i] += [i]
print li1
li2 = [['a']] * 3
print li2
for i in range(0, len(li2)):
li2[i] += [i]
print li2
作成後、li1 と li2 は同じですが、要素を追加すると動作が異なります。
[['a'], ['a'], ['a']]
[['a', 0], ['a', 1], ['a', 2]]
[['a'], ['a'], ['a']]
[['a', 0, 1, 2], ['a', 0, 1, 2], ['a', 0, 1, 2]]
誰かがトリックがどこにあるか説明してもらえますか?