首页 > 解决方案 > 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 comparison failed; returning scalar instead, but in the future will perform elementwise comparison

我正在使用 Numpy 1.12。

标签: numpy

解决方案


推荐阅读