这里我有一个向量 a=[1,2,3,4,5]
a=b
a[0]=a[2]
print a
a=[2,2,3,4,5]
b=[2,2,3,4,5]
但我不希望矢量 b 被改变,我希望它总是 b=[1,2,3,4,5]
实际上,您可以将 b 视为 a 的原始向量。
像这样使用复制功能:
a=b.copy()
a[0]=a[2]
print a
a=[3,2,3,4,5]
b=[2,2,3,4,5]
对于列表, a = b 只是复制引用。因此,当您更改列表中的一个值时,所有变量(具有相同引用的变量)的值都会更改。copy()
或deepcopy()
函数实际上复制了列表。您可以阅读此文档。
更新您的输入:
b=[1,2,3,4,5]
a=b.copy()
a[0]=a[2]
print(a)
print(b)
它打印:
[3, 2, 3, 4, 5]
[1, 2, 3, 4, 5]
在这种情况下使用列表切片很奇怪,但可以正常工作:
b=[1,2,3,4,5]
a=b[:]
a[0]=a[2]
print(a)
print(b)
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句