Python中快速嵌套列表上的意外更新结果[重复]

问题描述 投票:0回答:1

这个问题在这里已有答案:

为什么不能在下面更新第一个元素而不是整个列?

>>> x=2*[2*[1]]
>>> x
[[1, 1], [1, 1]]
>>> x[0][0]=2
>>> x
[[2, 1], [2, 1]]
python list repeat multiplication assign
1个回答
0
投票

即使这是一个明确的重复,但使用range

>>> x=[[1 for i in range(2)] for x in range(2)]
>>> x
[[1, 1], [1, 1]]
>>> x[0][0]=2
>>> x
[[2, 1], [1, 1]]
>>> 

至少还能做到:

>>> x=[[1]*2 for x in range(2)]
>>> x[0][0]=2
>>> x
[[2, 1], [1, 1]]
>>> 
© www.soinside.com 2019 - 2024. All rights reserved.