我最近从使用np.ndarray.resize()
切换到了np.resize()
。我关心的是,使用后者,生成的数组有一个我无法解释的基本对象。有人能给我解释一下吗
注意,我理解由于引用和refcheck
而产生的差异。除了a
之外,代码没有对对象的任何引用;我切换到了np.resize()
,这样PyCharm/iPython就不会抱怨了,因为它们有额外的引用
前者:
>>> a = np.arange(5)
>>> a.resize(10)
>>> a.base is None
True
后者:
>>> a = np.arange(5)
>>> b = a
>>> a = np.resize(a, 10)
>>> a.base
array([0, 1, 2, 3, 4, 0, 1, 2, 3, 4])
>>> a.base is a, a.base is b
(False, False)
目前没有回答
相关问题 更多 >
编程相关推荐