將一個列表的數據複製到另外一個列表中python
#第一種方法.net
#!/usr/bin/python # -*- coding: UTF-8 -*-對象
a = [1, 2, 3]blog
b = a[:]get
print bimport
以上實例輸出結果爲:coding
[1, 2, 3]
#第二種方法方法
a=[1,2,3]
b=a.copy()
print(b)im
[1, 2, 3]
兩種方法實現的效果是同樣的,只是一個使用的是切片,一個是list自帶的方法。數據
注意:
咱們平常所說的複製(本身在電腦硬盤上的複製)就是深複製(deepcopy),即將被複制對象徹底再複製一遍做爲獨立的新個體單獨存在。因此改變原有被複制對象不會對已經複製出來的新對象產生影響。
而淺複製(copy)並不會產生一個獨立的對象單獨存在,他只是將原有的數據塊打上一個新標籤,因此當其中一個標籤指向的數據塊就會發生變化,另外一個標籤也會隨之改變。這就和咱們尋常意義上的複製有所不一樣了。
如下提供一些copy方法,但注意是深copy仍是淺copy:
定義:
lista=[2,[4,5]]
listb=lista[:]
listb=list(lista)
listb=[i for i in lista]
import copy;listb=copy.copy(lista)
import copy;listb=copy.deepcopy(lista)