我想检查两个 ndarray 是否是相同底层 ndarray 的重叠视图。
要检查两个切片是否完全相同,我可以执行以下操作:
a.base is b.base and a.shape == b.shape and a.data == b.data
缓冲区的比较似乎在一种简单的情况下有效——谁能告诉我它是否普遍有效?
不幸的是,这不适用于重叠切片,而且我还没有弄清楚如何从缓冲区中准确提取其在基础数据中的偏移量——也许有人可以帮助我解决这个问题?
另外,说a
andb
是 的切片x
,并且c
是 的切片b
。由于基础数据相同,我还想检测 和 之间的c
重叠a
。似乎我应该能够只比较缓冲区和形状......如果有人能告诉我确切的方法,我将不胜感激。