练习17(深浅copy)

练习17

# 赋值运算
l1 = [1,2,3]
l2 = l1
l1.append(666)
print(l2)
print(id(l1))
print(id(l2))


# 浅copy
l1 = [1,2,3]
l2 = l1.copy()
l1.append(666)
print(l2)

l1 = [1,2,3,[22,]]
l2 = l1.copy()
#l1.append(666)
#print(l1,l2)
l1[-1].append('taibai')
#print(l1,l2)
print(id(l1))
print(id(l2))
print(id(l1[-1]))
print(id(l2[-1]))

# 深copy
import copy
l1 = [1,2,3,[22,]]
l2 = copy.deepcopy(l1)
#print(l1,l2)
#l1.append(666)
l1[-1].append('太白')
print(l2)

# 应用场景:面试会考,解释深浅copy
    # 完全独立的copy一份数据,与原数据没有关系,深copy
    # 如果一份数据(列表)第二层时,你想与原数据进行公用,浅copy。

#  面试题
# 切片属于浅copy
l1 = [1,2,3,[22,33]]
l2 = l1[:]
# l1.append(666)
l1[-1].append(666)
print(l2)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值