python中的坑-字典复杂元素的浅复制问题

最近遇到一个极坑的问题,我在使用字典时,没有考虑到这个问题,导致我debug了两天。

在这里插入图片描述

import numpy as np
b = {0: np.array([0, 1], 1:2}
a = b[0] # 这里a和b[1]指向相同的内存地址,浅复制,容易出错
a[0] = 3
print(b) # 输出结果是{0: [3, 1], 1:2}

c = b[1] # 这里c和b[1]指向相同的内存地址,浅复制

c = 4 # 这里c是重新赋予新的变量,指向新的内存地址
print(b) # 输出结果是{0: [3, 1], 1:2}

# 这里c和b[1]指向不同的内存地址
print(id(c))
print(id(b[1]))
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值