1
我一直在使用python很多,今天我感到惊讶的是一个简单的嵌套列表。python如何更改嵌套列表中的元素
如何更改我的列表元素的值?
>>> l=[[0,0]]*10
>>> l
[[0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0]]
>>> l[0]
[0, 0]
>>> l[0][0]
0
>>> l[0][0]=1 #here comes the question
>>> l
[[1, 0], [1, 0], [1, 0], [1, 0], [1, 0], [1, 0], [1, 0], [1, 0], [1, 0], [1, 0]]
>>>
我希望作为最终结果
l=[[1,0],[0,0],[0,0]...]
为什么不追加? (我想要一个理论上的解释) 我怎样才能得到想要的结果?
谢谢。
编辑: 在以另一种方式,我得到了想要的结果
>> l=[[0,0],[0,0]]
>>> l
[[0, 0], [0, 0]]
>>> l[0][0]=1
>>> l
[[1, 0], [0, 0]]
>>>
但我仍然不知道为什么第一个版本不工作,并启动列表我怎么能初始化很多的元素列表?
啊,你打败了我!尽管如此,我想我们应该找到成千上万个这样的人之一。 –
我正在练习我的速度打字。近距离投票已经投了 – mhlester
所以我以前的代码等于s = [0,0] l = [s * 10],所以我总是有相同的指针? – Donbeo