python 深浅拷贝

前端之家收集整理的这篇文章主要介绍了python 深浅拷贝前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

深浅拷贝(1)赋值运算

l1 = [1,2,3,[,=l1[0] = 111
<span style="color: #0000ff">print
(l1) <span style="color: #008000">#
<span style="color: #008000"> [111,['barry','alex']]

<span style="color: #0000ff">print
(l2) <span style="color: #008000">#
<span style="color: #008000"> [111,'alex']]

<span style="color: #000000">
l1[
3][0] = <span style="color: #800000">'<span style="color: #800000">wusir<span style="color: #800000">'
<span style="color: #0000ff">print(l1) <span style="color: #008000">#<span style="color: #008000"> [111,['wusir','alex']]

(2)浅拷贝

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

(3)深拷贝

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

小结:

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

猜你在找的Python相关文章