如果使用Numpy创建数组,则可以使用numpy库提供的许多功能。
例如,如果c
是一个矩阵
print(c[:,1])
将打印列1中的每个值。
现在,当我以这种方式索引c矩阵时,我是否使用元组进行索引?如果是,怎么可能在里面有“:”元组呢?
发布于 2018-01-31 05:02:14
冒号语法是slice(..)
对象的语法。你的表达方式等同于:
# v slice object
print(c[(slice(None), 1)])
# ^ tuple ^
因此,您已经传递了一个元组,其中包含一个slice(None)
对象作为第一个元素,1
作为第二个元素。
切片语法到slice(..)
对象的映射如下:
:
相当于slice(None)
;:b
,则它等价于slice(b)
;a:
等价于slice(a, None)
;a:b
等价于slice(a, b)
;::c
等价于slice(None, None, c)
;:b:c
到slice(None, b, c)
;a::c
等价于slice(a, None, c)
;以及a:b:c
到slice(a, b, c)
。注意,片语法只支持在项目管理器(so x[..]
)的上下文中。
https://stackoverflow.com/questions/48542742
复制