只是一个很小的,可能非常简单的问题。有人给了我以下代码:
im = axs[0,i].pcolormesh(imgX[o:,:], imgY[o:,:], img.mean(-1)[o:,:], cmap='Greys')
我知道":"表示该列或行中的所有内容(或数组深度,具体取决于您的查看方式)。但是" o:"意思?
答案 0 :(得分:3)
以下不与使用情况相关,但显示了“解析”操作的方式。
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)) )
答案 1 :(得分:2)
o
是一个变量,与其他变量一样(但名称非常糟糕,因为它可能与零混淆)。
[o:, :]
表示“第一个轴中的所有元素从元素o
开始,所有元素都在第二个轴中。在特定情况下,图像将仅显示来自{{1的行到底部。
我想补充一点,在这种情况下,您将获得一个视图,即对原始数组的引用,因此实际上不会复制数据。