我是Python的新手,我真的不明白为什么会这样:
vector1 = [1,0,0,1]
left = vector1
print(str(left))
right = vector1
right[0] = 2
print(str(left))
print(str(right))
输出结果为:
[1, 0, 0, 1]
[2, 0, 0, 1]
[2, 0, 0, 1]
我真正想要的是:
[1, 0, 0, 1]
[1, 0, 0, 1]
[2, 0, 0, 1]
为什么'left'向量会更新,如果我之前使用初始'vector1'值修复它?
我确信这是一个新手问题,但我习惯在MatLab中编码而且我感到困惑......
提前致谢!
答案 0 :(得分:1)
当你说
时left = vector1
Python不会复制列表的内容,但现在剩下的新列表引用了vector1
因此,当您更改新列表时,旧列表也会更改。