python - 为什么 numpy.resize() 有一个不是原始对象的基础对象?
问题描述
我最近从 using 切换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)
解决方案
推荐阅读
- vba - 对象不支持属性或方法 getElementsByClassName IE 对象
- clips - 如何在 CLIPS 中刷新事实?
- paypal - PayPal Braintree 集成 - 什么是访问令牌?
- html - 为什么我在 Angular mat-icon-button 中看不到图标图片?
- scala - 无法访问特征实现的额外方法
- android - sqlite3 android studio 的问题
- ruby - 在 OSX 中无法降级 openssl
- python - 如何从 any() 函数中获取变量
- sql - postgres中的较低功能
- python - PyTorch 中的 .pt、.pth 和 .pwf 扩展有什么区别?