我有一个可能非常简单的小问题。有人给了我以下代码行:
im = axs[0,i].pcolormesh(imgX[o:,:], imgY[o:,:], img.mean(-1)[o:,:], cmap='Greys')
我知道 “:” 表示该列或行中的所有内容(或数组深度,取决于您的观察角度)。但是 "o:" 代表什么呢?
class X:
def __getitem__(self, index):
return index
X()[:,:]
>> (slice(None,None,None), slice(None,None,None))
并且使用不同的清晰度值:
X()[0, 1:, 3:4, 5:6:7]
>> (0, slice(1,None,None), slice(3,4,None), slice(5,6,7))
因此,请记住,img[o:,:]
就像 img[o:,:]
一样。
img.__getitem__( (slice(o,None,None), slice(None,None,None)) )
o
是一个像其他变量一样的变量(但它的名称非常糟糕,因为它可能会被误认为是零)。
[o:, :]
表示“从第一个轴中的元素o
开始的所有元素以及第二个轴中的所有元素。在您的特定情况下,图像将仅显示从o
到底部的行。
我想补充说明的是,在这种情况下,您获得的是视图,即对原始数组的引用,因此实际上没有复制数据。
o
是某个变量。 - Ashwini Chaudhary