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

2024-02-28

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

>>> x=2*[2*[1]]
>>> x
[[1, 1], [1, 1]]
>>> x[0][0]=2
>>> x
[[2, 1], [2, 1]]

即使这是明显的重复但使用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]]
>>> 
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Python中快速嵌套列表的意外更新结果[重复] 的相关文章

随机推荐