Python中浅拷贝,深拷贝的区别

本文通过实例演示了Python中使用copy模块进行浅拷贝(copy.copy)和深拷贝(copy.deepcopy)的区别,尤其针对可变类型如列表、字典和不可变类型如元组、整数、浮点数、字符串的拷贝行为进行了详细对比。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

import copy

# 元组
q = (1,)
w = copy.copy(q)
e = copy.deepcopy(q)

print("元组:",id(q), id(w), id(e))



# 字典
q1 = {"a":1}
w1 = copy.copy(q1)
e1 = copy.deepcopy(q1)

print("字典:",id(q1), id(w1), id(e1))


# 整数型
q2 = 1
w2 = copy.copy(q2)
e2 = copy.deepcopy(q2)

print("整数:",id(q2), id(w2), id(e2))


# 浮点数
q3 = 1.0
w3 = copy.copy(q3)
e3 = copy.deepcopy(q3)

print("浮点数:",id(q3), id(w3), id(e3))



# 字符串
q4 = "hello world"
w4 = copy.copy(q4)
e4 = copy.deepcopy(q4)

print("字符串:",id(q4), id(w4), id(e4))


# 列表
a = [1,[12]]
b = copy.copy(a)
c = copy.deepcopy(a)

print("列表:", id(a), id(b), id(c))
print("列表第二层元素:", id(a[1]), id(b[1]), id(c[1]))


c[1] = [23]
print("列表第二层:", id(a[1]), id(b[1]), id(c[1]))

python 中对可变不可变类型拷贝时都有所区别

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值