标签:元素 lin 深浅拷贝 结果 hal bsp python pytho code
1.浅拷贝 shallow copy
s=[1,‘alex‘,‘alvin‘]
s2=s.copy()
print(s2)
s2[0]=22
print(s)
print(s2)
输出结果:
[1, ‘alex‘, ‘alvin‘]
[1, ‘alex‘, ‘alvin‘]
[22, ‘alex‘, ‘alvin‘]
使用copy方法,复制S2。修改S2,不会影响S的值
2.
s=[[1,2],‘alex‘,‘alvin‘]
s3=s.copy() # s3=s[:]也是浅拷贝
print(s3)
s3[1]=‘linux‘
print(s3)
print(s)
s3[0][1]=3
print(s3)
print(s)
输出结果
[[1, 2], ‘alex‘, ‘alvin‘]
[[1, 2], ‘linux‘, ‘alvin‘]
[[1, 2], ‘alex‘, ‘alvin‘]
[[1, 3], ‘linux‘, ‘alvin‘]
[[1, 3], ‘alex‘, ‘alvin‘]
修改S3里的元素-列表里的元素。也会影响S
赋值原理:
3.
a=[1,2,3]
b=a
print(a)
print(b)
b[2]=4
print(a)
print(b)
注意:通过赋值,a和b会指向同一个地址。如果修改b这块内存中的某块地址,a也会跟着变化。
深浅拷贝可用于银行亲情账号绑定
浅拷贝 只拷贝第一层。
深拷贝 克隆一份
4.深拷贝
import copy
a=copy.deepcopy(b) b完全克隆a,并开辟一块内存空间
标签:元素 lin 深浅拷贝 结果 hal bsp python pytho code
原文地址:https://www.cnblogs.com/zd37/p/11562093.html