python3复制列表
一般情况,我们默认复制变量使用等号“=”
但是,对于python中的数据类型 list而言,复制列表应该用list.copy(),而不是用列表。
a=[1,2,3,4]
b=a
b[0]=5
print(a)
然后发现输出是
[5,2,3,4]
很明显,我们”只“修改了b,而没有修改a,理论上a应该没有变化,但确实变了,为什么呢,因为使用“=” ,只是将b的指针/地址 指向了a的数据地址。
改变b中的变量,该地址处的数据变更,a同样也会变。
因此,如果想要复制列表,请务必使用copy()
a=[1,2,3,4]
b=a.copy()
b[0]=5
print(a)
输出为
[1,2,3,4]