gpt4 book ai didi

Python矩阵操作

转载 作者:太空狗 更新时间:2023-10-30 02:46:59 27 4
gpt4 key购买 nike

我在 Python 中使用矩阵 (numpy) 运算并发现了一个有趣的观察结果。

如果我有以下代码:

 x=matrix([[1,2],[3,4]])
y=matrix([[1.1,2.1],[3.1,4.1]])
x=y
print x

然后打印 [[1.1,2.1],[3.1,4.1]]

但是如果我这样做了

 x=matrix([[1,2],[3,4]])
y=matrix([[1.1,2.1],[3.1,4.1]])
x[:,:]=y[:,:]
print x

然后它只打印整数部分,即 [[1,2],[3,4]]

谁能告诉我这是为什么?

最佳答案

名称xy 只是您可以分配给对象的标签。它们不像其他语言那样是真正的“变量”,也没有分配给它们任何类型。

执行行

x = y

将简单地将标签 x 附加到 y 当前指向的对象,并删除对它之前指向的对象的引用(可能导致旧对象将被垃圾收集,如果这是唯一的引用)。执行此行后,x is y 返回 True,表示它们现在都指向同一个对象。

线

x[:] = y

另一方面,并​​不是简单地将新标签附加到对象,而是修改现有标签,即 x 指向的标签。由于此现有对象的项目类型为 int32,因此所有值都需要转换为整数。执行完这一行后,x is y返回False,表示它们指向不同的对象。

关于Python矩阵操作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17843258/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com