900字范文,内容丰富有趣,生活中的好帮手!
900字范文 > python 深浅拷贝案例_python(深浅拷贝)

python 深浅拷贝案例_python(深浅拷贝)

时间:2021-01-18 07:39:08

相关推荐

python 深浅拷贝案例_python(深浅拷贝)

1、深拷贝 --> 克隆一份,修改拷贝后的内容不对原对象内容产生影响

拷贝后修改序列中元素内容,注意:被修改的元素不能为一个序列中的某个值

a=[["北京多测师","成都多测师"],"上海多测师","深圳多测师","广州多测师"]

b=a.copy()

b[1]="天津多测师"

print(a)

print(b)

#结果如下

[['北京多测师','成都多测师'],'上海多测师','深圳多测师','广州多测师']#列表a中的"上海多测师"未修改为"天津多测师"

[['北京多测师','成都多测师'],'天津多测师','深圳多测师','广州多测师']#列表b中的"上海多测师"修改为"天津多测师"

copy 模块中的deepcopy()

importcopy

a=[["北京多测师","成都多测师"],"上海多测师","深圳多测师","广州多测师"]

b=copy.deepcopy(a)

b[0][0]="天津多测师"

print(a)

print(b)

#结果如下

[['北京多测师','成都多测师'],'上海多测师','深圳多测师','广州多测师']#原列表a未发生改变

[['天津多测师','成都多测师'],'上海多测师','深圳多测师','广州多测师']#列表b中的第一个元素中的"北京多测师"修改为"天津多测师"

2、浅拷贝 -->修改拷贝后的内容原对象内容随之修改

a=[["北京多测师","成都多测师"],"上海多测师","深圳多测师","广州多测师"]

b=a.copy()

b[0][0]="天津多测师"

print(a)

print(b)

#结果如下

[['天津多测师','成都多测师'],'上海多测师','深圳多测师','广州多测师']

[['天津多测师','成都多测师'],'上海多测师','深圳多测师','广州多测师']#列表a和b中的"北京多测师"都修改为"天津多测师"

copy 模块中的 copy()

importcopy

a=[["北京多测师","成都多测师"],"上海多测师","深圳多测师","广州多测师"]

b=copy.copy(a)

b[0][0]="天津多测师"

print(a)

print(b)

#结果如下

[['天津多测师','成都多测师'],'上海多测师','深圳多测师','广州多测师']

[['天津多测师','成都多测师'],'上海多测师','深圳多测师','广州多测师']#列表a和b中的"北京多测师"都修改为"天津多测师"

3、实例讲解

#现有老公张三有额度为200000元的信用卡,卡号为:,已使用的额度:15000

#现需要实现张三的老婆Andy也需要绑定这张信用卡进行付款

zs_card=["张三",,[200000,15000]]#张三名下的信用卡

ad_card=zs_card.copy()#妻子Andy账户也开了一张绑定张三信用卡的信用卡,且修改姓名和卡号

ad_card[0]="Andy"

ad_card[1]=

print(ad_card)#打印出Andy的信用卡信息['Andy',,[200000,15000]]

zs_card[2][1]+=2000#此时张三使用了信用卡且刷了2000元

print(ad_card)#此时Andy的信用卡额度也随之变化

#运行结果如下

['Andy',,[200000,15000]]

['Andy',,[200000,17000]]#张三刷卡后,Andy所持的信用卡已使用的额度随之增长

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。