有人可以解释这个代码(python中的列表列表)?

时间:2017-12-20 16:34:47

标签: python list

我想要操纵的是v的第一个元素,第二个打印应该是

[[3], [], [], [], []].

代码:

v = [[]] * 4

print(v)
v[0].append(3);  #what i want to manipulate is the first element of v 
print(v)

输出:

[[], [], [], [], []]
[[3], [3], [3], [3], [3]]

1 个答案:

答案 0 :(得分:0)

Python可变变量(如list)通过引用传递。

v = [[]] * 4

为您提供相同参考的列表,因此当您更新列表中的一个元素时,所有其他元素都会移动。

v = [[], [], [], []]

将修复它