python 深浅拷贝

python 深浅拷贝,第1张

概述深浅拷贝(1)赋值运算l1 = [1,2,3,['barry','alex']]l2 = l1l1[0] = 111print(l1) # [111, 2, 3, ['barry', 'alex']]print(l2) # [111, 2, 3, ['barry', 'alex']]l1[3][0] = 'wusir'print(l1) # [111, 2, 3, ['wusir', 'alex']]print(l2) # [111, 2, 3, ['wusir', 'alex']] (2)浅拷贝lst1 = ["太白","日天","哪吒","银角大王","金角大王"]lst2 = lst1lst1.append("女神")print(lst1,id(lst1))print(lst2,id(lst2))#指向同一个内存地址,所以二者相同lst1 = ["太白","日天","哪吒","银角大王","金角大王"]lst2 = lst1.copy() # 会创建新对象, 创建对象的速度会很快. lst2 = lst1[:] 创建了新列表lst1.append("女神")print(lst1,id(lst1)) #['太白', '日天', '哪吒', '银角大王', '金角大王', '女神'] 2606709613704print(lst2,id(lst2)) #['太白', '日天', '哪吒', '银角大王', '金角大王'] 2606709613832lst1 = ["太白","日天",["盖浇饭", "锅包肉", "吱吱冒油的猪蹄子"],"哪吒","银角大王","金角大王"]lst2 = lst1.copy() # 会创建新对象, 创建对象的速度会很快.lst1[2].append("油泼扯面")print(lst1,id(lst1[2])) #['太白', '日天', ['盖浇饭', '锅包肉', '吱吱冒油的猪蹄子', '油泼扯面'], '哪吒', '银角大王', '金角大王'] 1440371189000print(lst2, id(lst2[2])) #['太白', '日天', ['盖浇饭', '锅包肉', '吱吱冒油的猪蹄子', '油泼扯面'], '哪吒', '银角大王', '金角大王'] 1440371189000 (3)深拷贝# 导入拷贝模块import copylst1 = ["太白","日天",["盖浇饭", "锅包肉", "吱吱冒油的猪蹄子"],"哪吒","银角大王","金角大王"]lst2 = copy.deepcopy(lst1)print(lst1,id(lst1[2])) #['太白', '日天', ['盖浇饭', '锅包肉', '吱吱冒油的猪蹄子'], '哪吒', '银角大王', '金角大王'] 1764073894856print(lst2,id(lst2[2])) #['太白', '日天', ['盖浇饭', '锅包肉', '吱吱冒油的猪蹄子'], '哪吒', '银角大王', '金角大王'] 1764073896264小结:赋值没有创建新对象。多个变量共享同一个对象浅拷贝:会创建新对象。 新的对象中里面的内容不会被拷贝深拷贝。 创建一个一模一样的完全新的对象。 这个对象延伸出来的内容也会跟着复制一份

深浅拷贝(1)赋值运算

l1 = [1,2,3,[,=l1[0] = 111
<span >print
(l1) <span >#
<span > [111,['barry','alex']]

<span >print
(l2) <span >#
<span > [111,'alex']]

<span >
l1[
3][0] = <span >'<span >wusir<span >'
<span >print(l1) <span >#<span > [111,['wusir','alex']]

(2)浅拷贝

lst1 = [,,,,=lst1 = [,= lst1.copy() lst1.append((lst1,ID(lst1)) (lst2,ID(lst2)) lst1 = [,[,,],创建对象的速度会很快.lst1[2].append((lst1,ID(lst1[2])) (lst2,ID(lst2[2]))

(3)深拷贝

= [,=(lst1,'吱吱冒油的猪蹄子'],'金角大王'] 1764073894856(lst2,'金角大王'] 1764073896264

小结:

赋值没有创建新对象。多个变量共享同一个对象浅拷贝:会创建新对象。 新的对象中里面的内容不会被拷贝深拷贝。 创建一个一模一样的完全新的对象。 这个对象延伸出来的内容也会跟着复制一份

总结

以上是内存溢出为你收集整理的python 深浅拷贝全部内容,希望文章能够帮你解决python 深浅拷贝所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1208306.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-04
下一篇 2022-06-04

发表评论

登录后才能评论

评论列表(0条)

保存