假设我有一个非常大的 numpy
数组 a
,我想将数值 1 添加到数组的每个元素。从我到目前为止所读的内容来看:
a += 1
是一个很好的方法,而不是:
a = a + 1
因为在第二种情况下,新数组 a
在不同的内存槽中创建,而在第一种情况下,旧数组在同一内存槽中被有效地替换。
假设我想改为执行以下操作:
a = 1-a
执行上述操作的内存有效方式是什么?
最佳答案
numpy.subtract(1, a, out=a)
与 -
运算符相比,直接使用 subtract
ufunc 可为您提供更多控制。在这里,我们使用 out
参数将减法结果放回 a
。
关于python - 在这种情况下,内存分配在 python 中是如何工作的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50244083/