python的深拷贝和浅拷贝

浅拷贝

# 浅拷贝,一维列表,copy一份,相互之间无影响
name1 = ["hello","me"]
name2 = name1.copy()
name1[1] = 'you'
print(name1)
print(name2)

在这里插入图片描述

# 浅拷贝,一维列表,copy一份,相互之间无影响
name1 = ["hello","me"]
name2 = name1.copy()
name2[1] = 'you'
print(name1)
print(name2)

在这里插入图片描述

# 浅拷贝,二维列表,copy一份,第一层相互之间无影响,但是第二层可以理解为复制的地址,所以只要修改就会影响。
name1 = ["hello","me",["you","way"]]
name2 = name1.copy()
name1[2][1] = 'you'
name1[0] = 'word'
print(name1)
print(name2)

在这里插入图片描述

浅拷贝的三种方式

list1 = [1,3,5,7]
p1 = copy.copy(list1)
p2 = list1[:]
p3 = list[list1]

浅拷贝的用途:创建联合账号

在这里插入图片描述

深拷贝

# 深拷贝,主要为了解决以上问题,用于二维列表复制,这样每层都相互独立
import copy
name1 = ["hello","me",["you","way"]]
name2 = copy.deepcopy(name1)
name1[2][1] = 'you'
name1[0] = 'word'
print(name1)
print(name2)

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值