Python 你能判断一个数组是否是另一个数组的视图吗?

Python 你能判断一个数组是否是另一个数组的视图吗?,python,numpy,Python,Numpy,numpy阵列是否跟踪其“查看状态” 我要找的是numpy.isview()之类的东西 我希望在代码分析中使用此选项,以确保我正确地执行操作,并在我认为正确时获取视图。ndarray.flags.owndata告诉您数组是否拥有其数据。在您的示例中: In [18]: a.flags.owndata Out[18]: True In [19]: b.flags.owndata Out[19]: False 它显然没有你所要求的那么精确,但这是我所知道的最好的了。数组还有一个基本属性: a =

numpy阵列是否跟踪其“查看状态”

我要找的是
numpy.isview()
之类的东西


我希望在代码分析中使用此选项,以确保我正确地执行操作,并在我认为正确时获取视图。

ndarray.flags.owndata告诉您数组是否拥有其数据。在您的示例中:

In [18]: a.flags.owndata
Out[18]: True

In [19]: b.flags.owndata
Out[19]: False

它显然没有你所要求的那么精确,但这是我所知道的最好的了。

数组还有一个基本属性:

a = np.arange(10)
print a.base
None

b = a[2:9]
print b.base is a
True

c = b[:2]
print c.base is b
True
print c.base is a
False

谢谢,很好。是“b.base是一个”比“a.数组接口”.[0]==b.数组接口”.[0].[0].“它更短…这比我的hack好得多+1,它应该被接受为答案。
a = np.arange(10)
print a.base
None

b = a[2:9]
print b.base is a
True

c = b[:2]
print c.base is b
True
print c.base is a
False