copy淺拷貝,拷貝值和指針,對象的屬性仍是引用原來的spa
deepcopy拷貝一個對象,把對象裏面的屬性也作了拷貝,deepcopy以後徹底是另外一個對象指針
#encoding=utf-8對象
import copyblog
alist=[[1],[2],[3]]io
blist=copy.copy(alist) #淺拷貝(只受原對象的值影響,不受指針影響)import
clist=copy.deepcopy(alist) #深拷貝(不受原對象影響,是一個新對象)cli
print '>>before'coding
print alist,id(alist)引用
print blist,id(blist)im
print clist,id(clist)
alist[0][0]=0 #修改的是值,指針不變
alist[1]=None #指針已改變
print '>>after
print alist,id(alist)
print blist,id(blist)
print clist,id(clist)
打印結果