我需要在Python中创建一个列表列表,所以我输入以下内容:
myList = [[1] * 4] * 3
Run Code Online (Sandbox Code Playgroud)
列表看起来像这样:
[[1, 1, 1, 1], [1, 1, 1, 1], [1, 1, 1, 1]]
Run Code Online (Sandbox Code Playgroud)
然后我改变了最里面的一个值:
myList[0][0] = 5
Run Code Online (Sandbox Code Playgroud)
现在我的列表看起来像这样:
[[5, 1, 1, 1], [5, 1, 1, 1], [5, 1, 1, 1]]
Run Code Online (Sandbox Code Playgroud)
这不是我想要或期望的.有人可以解释一下发生了什么,以及如何解决这个问题?
[[1, 2, 3],
[1, 2, 3],
[1, 2, 3],
[1, 2, 3],
**2**, # <-- HERE
[1, 2, 3],
[1, 2, 3],
[1, 2, 3]]
这是我目前的输出.如果你看一下上面的行,就会有一个2单独的行.
这是我使用的代码
someList.insert((index), 2)
Run Code Online (Sandbox Code Playgroud)
有没有办法2让它在前面的索引中
[[1, 2, 3],
[1, 2, 3],
[1, 2, 3],
[1, 2, 3],
[1, 2, 3, 2], # <-- HERE
[1, 2, 3],
[1, 2, 3],
[1, 2, 3]]