<分区>
当我创建并填充列表列表时,会弹出一些奇怪的行为:
list1 = [[0,0,0],[0,0,0],[0,0,0]]
list2 = [[0]*3]*3
print('lists still look equal here:')
print(list1)
print(list2)
list1[1].pop(1)
list2[1].pop(1)
print('but not anymore:')
print(list1)
print(list2)
给我这个输出:
lists look completely equal here:
[[0, 0, 0], [0, 0, 0], [0, 0, 0]]
[[0, 0, 0], [0, 0, 0], [0, 0, 0]]
but not anymore:
[[0, 0, 0], [0, 0], [0, 0, 0]]
[[0, 0], [0, 0], [0, 0]]
所以第二个列表从每个小列表中“弹出”,而不仅仅是我正在尝试的那个。我想知道是什么导致了这种行为,如果我需要大量的长列表而不仅仅是这些小列表,是否有更优雅的方法来填充可索引列表?