python中的淺拷貝與深拷貝

2022-04-01 02:01:36 字數 1198 閱讀 1731

淺拷貝可以拿丈夫與媳婦公用一張銀行卡來舉例  

# python

>>> husband = ['liang',123,[10000,6000]] #丈夫的銀行卡資訊(姓名,id,額度,餘額)

>>> wife = husband.copy() #媳婦和丈夫公用一張銀行卡(姓名與id不同,但是額度與餘額相同)

>>> wife[0] = 'yue'

>>> wife[1] = 456

>>> wife[2][1] -= 3000 #媳婦花費3000

>>> wife

['yue', 456, [10000, 3000]] #顯示媳婦餘額

>>> husband

['liang', 123, [10000, 3000]] #顯示丈夫餘額

淺拷貝只是拷貝第一層,深拷貝相當於轉殖,深拷貝如下:

引入了小三,小三花費的錢媳婦不知道:

>>> liang = ['xin',111,[15000,10000]]

>>> yue = liang.copy()

>>> yue

['xin', 111, [15000, 10000]]

>>> yue[0] = 'mumu'

>>> yue[1] = 222

>>> yue[2][1] -= 5000

>>> yue

['mumu', 222, [15000, 5000]]

>>> liang

['xin', 111, [15000, 5000]]

以上是淺拷貝;

以下是深拷貝:

>>> import copy

>>> xiaosan = copy.deepcopy(liang)

>>> xiaosan[0] ="**"

>>> xiaosan[1] = 333

>>> xiaosan[2][1] -= 1999

>>> xiaosan

['**', 333, [15000, 3001]] #已經減少啦

>>> liang

['xin', 111, [15000, 5000]]

>>> yue

['mumu', 222, [15000, 5000]] #媳婦不知道

python 中的拷貝 淺拷貝與深拷貝

0.序列指什麼?序列型別是指容器內的元素從0開始的索引順序訪問,一次可以訪問乙個或者多個元素,包括字串 string 元組 tuple 列表 list the difference between tuple and list tuple would not be changed,but list ...

python中淺拷貝與深拷貝

淺拷貝,拷貝的是父物件,不會拷貝到內部的子物件。單從乙個淺字就可以看出他拷貝的東西不深,可以理解為只拷貝一層 import copy a 1,ss 2,3 b copy.copy a print b print id a print id b 現在有乙個列表a裡面有數字,字串,列表和字典 用淺拷貝的...

Python中的淺拷貝與深拷貝

1.淺拷貝 情況1的例項如下 import copy a 1,2 b 3,4 c a,b 注意這裡的c就是乙個可變物件!d copy.copy c print 變數c c print print 變數d d 結果 變數c 1,2 3,4 變數d 1,2 3,4 原因分析 需要拷貝的物件c是乙個lis...