python - 更改副本的值也会更改原始值
问题描述
更改作为 a 副本的变量 b 的值也会更改 a 的值。
a = [[0]]
b = a.copy()
print("a before", a)
b[0][0] = 1
print("a after ", a)
印刷:
a before [[0]]
a after [[1]]
虽然这有效:
a = [0]
b = a.copy()
print("a before", a)
b[0] = 1
print("a after ", a)
印刷:
a before [[0]]
a after [[0]]
解决方案
结果是 copy.deepcopy 有效。
import copy
a = [[0]]
b = copy.deepcopy(a)
print("a before", a)
b[0][0] = 1
print("a after ", a)
印刷:
a before [[0]]
a after [[0]]
推荐阅读
- c# - 如何使用 gitlab ci yaml 触发 C# 控制台应用程序?
- python - 如何在折线图上绘制散点图?
- tensorflow - FailedPreconditionError: FailedPr...onError()
- bitbucket - 使用 API 列出登录尝试失败/计数失败的 Bitbucket 帐户
- php - 函数名必须是字符串 Laravel
- javascript - 一旦在我的输入中输入了一个由代码驱动的数字,我如何在没有键盘或鼠标单击的情况下使用 oninput?
- angular - Angular 8中的流程图/树形图
- virtual-machine - 有没有办法使用 virt-manager 从内核和 initrd 创建 VM?
- php - PHP 无法完成正则表达式
- java - 如何通过 php 从数据库中获取 JSONarray 值并将 JSONarray 传送到列表视图?