Numpy:分配期间的临时副本
考虑以下代码段:Numpy:分配期间的临时副本,numpy,Numpy,考虑以下代码段: import numpy as np buf = np.full(10, True) A = np.asarray([1,2,3]) buf[:3] = A!=A 在最后一条语句中,是否会创建一个临时对象来保存表达式a!的值=A随后将被复制到buf中的,或者该副本将被删除 旁注:我知道numpy.not_equal可以通过out参数来存储结果。但是,我使用的是结构化数组,由于某些原因,该方法引发以下错误: FutureWarning: elementwise compar
import numpy as np
buf = np.full(10, True)
A = np.asarray([1,2,3])
buf[:3] = A!=A
在最后一条语句中,是否会创建一个临时对象来保存表达式a!的值=A随后将被复制到buf
中的
,或者该副本将被删除
旁注:我知道numpy.not_equal
可以通过out
参数来存储结果。但是,我使用的是结构化数组,由于某些原因,该方法引发以下错误:
FutureWarning: elementwise comparison failed; returning scalar instead, but in the future will perform elementwise comparison
我正在使用Numpy 1.12。是的,将有临时数组,在
+=
表达式中有一个evwn数组。使用out
参数也不会绕过它。在v14中,A=
返回按记录比较,而不是警告。@hpaulj它在1.12中也会这样做。该警告适用于numpy.not_equal
的情况。而且也没有输出。