python - 我无法在 python 中正确地将我想要的值分配给变量
问题描述
我想操纵矩阵“b”,但由于我已将其初始值分配为等于矩阵“a”的初始值,因此矩阵“a”也被操纵,这是不希望的。我怎么解决这个问题?
import numpy as np
a=np.zeros((3,3))
b=a
b[0,:]=1
print('a=',a,'\n')
print('b=',b)
这段代码的结果是这样的:
a= [[1. 1. 1.]
[0. 0. 0.]
[0. 0. 0.]]
b= [[1. 1. 1.]
[0. 0. 0.]
[0. 0. 0.]]
如您所见,这两个矩阵都已修改。我写了这个小代码来说明我的问题。我的主程序是一个更大的程序,但我已经认识到这个问题,就是这样。
解决方案
该行b = a
应该是b = a.copy()
.
import numpy as np
a = np.zeros((3,3))
b = a.copy()
b[0,:] = 1
print('a = ',a,'\n')
print('b = ',b)
a = [[0. 0. 0.]
[0. 0. 0.]
[0. 0. 0.]]
b = [[1. 1. 1.]
[0. 0. 0.]
[0. 0. 0.]]
推荐阅读
- node.js - 无法调用后端函数 404 not found
- c# - 如何为 64 位应用程序注册 .NET DLL
- javascript - 如何仅搜索 HTML 列表中的特定跨度标记而不搜索所有列表项?(jQuery)
- apache - 支持 Lua 脚本的超小型 http 服务器
- python - 如何在 if 指令中处理来自 SQL 选择的无
- javascript - 页面刷新和服务器端状态保存时未加载列值
- android - 安装的 pwa 不会离线启动
- azure - 使用 ARM 模板的应用程序洞察警报
- netsuite - 图片未显示在网络套件邮件活动中
- gradle - Gradle Kotlin DSL:配置任务:未解决的参考