在数组的学习中,拷贝数组需要注意一些容易犯错的地方。
如果需要拷贝数组,最好使用分片拷贝:
li1 = [1,3,4,2]
li2 = li1[:]
prrint(li2)
=>[1,3,4,2]
如果我们使用平常的赋值变量的操作的话,会遇到一些问题,如果数组在运用数组方法的时候:
li1 = [1,3,4,2]
li12 = li1[:]
li3 = li1
li1.sort()
print(li2)
=>[1,3,4,2]
print(li3)
=>[1,2,3,4]
在这里,其实li3 = li1 如同原数组[1,3,4,2]赋予了2个名字一般,其实是同一个数组,通过其中一个名字去改变它的排序,实际改变了这个数组的本身,而li2 是重新拷贝出来了一个数组,他们是不同的;