在數組的學習中,拷貝數組需要注意一些容易犯錯的地方。
如果需要拷貝數組,最好使用分片拷貝:
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 是重新拷貝出來了一個數組,他們是不同的;