Python列表深度拷貝

2021-08-20 11:18:14 字數 755 閱讀 3474

python列表深度拷貝可保證拷貝後列表忠誠度始終如一,而淺度列表則有向蒲志高看齊的衝動!

如下有公司人員構成,中途變動後情況:

import copy

list1 = ["劉德華","張學友","郭富城",['何炅','汪涵','謝娜','齊達內'],"黎明"]#定義list1

list2 = copy.copy(list1)#淺拷list1,打醬油

list3 = copy.deepcopy(list1)#深挖list1,恪盡職守

list1[4] = "陳奕迅"#修改list1中部活躍的黎明為活躍度更高的eson

list1[3][2] = "王祖賢"#修改list1中第四個小團隊的女性為小男人

print (list1,list2,list3)

#list1現為['劉德華', '張學友', '郭富城', ['何炅', '汪涵', '王祖男', '齊達內'], '陳奕迅'] 

#list2現為['劉德華', '張學友', '郭富城', ['何炅', '汪涵', '王祖男', '齊達內'], '黎明'] 

#list3現為['劉德華', '張學友', '郭富城', ['何炅', '汪涵', '謝娜', '齊達內'], '黎明'] 

其中,謝某與黎某叛變,王某與陳某入夥後

淺拷模式黎某作為上級領導能經受考驗,謝某為基層員工叛逃。

深拷模式不管領導員工,始終對公司忠心耿耿,對同事不離不棄!

---------以上人名不具有代表意義!

python拷貝列表的副本

在python中拷貝列表並且修改副本的時候不會改變原列表有以下三種方法 1.使用列表的切片操作進行拷貝 2.使用列表的copy方法進行拷貝 3.在迴圈中進行拷貝 下面是具體的例子 if name main 1.使用切片操作 list1 1,2,3,4 list2 list1 list2 2 10 p...

Python 直接賦值 淺拷貝和深度拷貝

直接賦值,新老變數同時指向同一片記憶體,對新變數所做的任何修改都會連帶修改老變數 直接賦值,新老變數同時指向同一片記憶體,對新變數所做的任何修改都會連帶修改老變數 a b a 修改父物件,給父物件新增元素,同時影響 a 和 b b 2 4,5,6 print a s tb s a,b a b 修改內...

Python 列表賦值 淺拷貝 深拷貝 02

關於python中列表 字典的深淺拷貝問題之前認識比較模糊,之前的筆記中其實只是區分了拷貝和賦值的問題,今天以列表為例重新學習一下 關於深淺拷貝和賦值的概念 a.直接賦值 用等號 其實就是物件的引用 b.淺拷貝 用copy 拷貝父物件,但是不會拷貝內部子物件 c.深度拷貝 用deepcopy,是採用...