遍历相等元素的嵌套列表

时间:2019-05-06 12:33:35

标签: python list

我有一个具有相同元素的列表列表,创建方式如下:

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

中的任何元素

2 个答案:

答案 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)