我有一个具有相同元素的列表列表,创建方式如下:
list1=[1,2,3]
list2=[]
for i in range(6):
list2.append(list1)
list2
结果是:
[[1, 2, 3], [1, 2, 3], [1, 2, 3], [1, 2, 3], [1, 2, 3], [1, 2, 3]]
我希望能够更改嵌套列表的元素;例如:
list2[0][0]=4
list2
产生:
[[4, 2, 3], [4, 2, 3], [4, 2, 3], [4, 2, 3], [4, 2, 3], [4, 2, 3]]
但是我只想更改第一个列表的第一个元素:
[[4, 2, 3], [1, 2, 3], [1, 2, 3], [1, 2, 3], [1, 2, 3], [1, 2, 3]]
我该怎么做?我在迭代过程中缺少什么?
最后,我希望能够引用list1
答案 0 :(得分:1)
代码中最简单的方法是:
for i in range(6):
list2.append(list1[:])
[:]
会在列表上执行复制操作,因此它不是您每次附加的列表,而是一个副本。
答案 1 :(得分:1)
Trade Time
输出:
list2 = [[1,2,3] for i in range(6)]
list2[0][0]=4
print (list2)