【python 深拷贝与浅拷贝】

python 深拷贝与浅拷贝

问题:

在用影刀编写流程的时候发现,明明只修改人名为"小张"对应的字典里面的值,但是所有的人名对应的值都被修改了。

原因:

第14行,设置键值对,值对应的变量"初始打卡类型字典"是前面流程生成的,还是引用了原来的地方。

用python来复现:

1、如果列表是前面流程生成的,那么要修改值,就都修改了。

python 复制代码
aliens = []
new_alien = {"color": "green"}
#往字典里添加5个字典
for num in range(5):
    aliens.append(new_alien)
print(aliens)
#修改第一个字典的颜色
aliens[0]["color"] = "red"
print(aliens)

2、如果列表的值本来就写好了,修改特定的值,后面字典里面值不会被同步修改。

解决方案:

赋值的时候用深拷贝

在从整体的dict_instance中取出单个字典的时候,用深拷贝

相关推荐
龙文浩_21 小时前
【无标题】AI深层神经网络(多层全连接)+ ReLU 激活 的完整处理流程
人工智能·python·深度学习·神经网络·机器学习
add45a21 小时前
Python类型提示(Type Hints)详解
jvm·数据库·python
记忆张量MemTensor21 小时前
AI 数据迁移指南|Claude 靠提示词搬家,MindDock 一键完整备份记忆
人工智能·python·开源·github·浏览器
移远通信21 小时前
Helios SDK开发指南__入门应用代码编写
python
天远Date Lab21 小时前
Python实战:基于天远二手车估值API构建企业车队资产数字化管理方案
大数据·人工智能·python
tryCbest21 小时前
Python之FastAPI 开发框架(第三篇):高级特性与实战
开发语言·python·fastapi
BestOrNothing_201521 小时前
Ubuntu 22.04 下使用 VS Code 搭建 ROS 2 Humble 集成开发环境
c++·vscode·python·ros2·ubuntu22.04
ZTLJQ21 小时前
挖掘金矿:Python数据解析库完全解析
开发语言·python
ONE_SIX_MIX21 小时前
lancedb 表名 编解码 与 转译 python
开发语言·python
2501_9454248021 小时前
机器学习与人工智能
jvm·数据库·python