ndarray 切片中的冒号元组
Tuple of colons in ndarray slicing
在 NumPy 中 documentation 我们在开头看到一个注释:
In Python, x[(exp1, exp2, ..., expN)] is equivalent to x[exp1, exp2, ..., expN]; the latter is just syntactic sugar for the former.
为什么 x[(:,:)] 而不是 x[:,:] 呢?例如,如果需要连接切片,则必须使用 [(0,) + (slice(None),)] 而不是 [(0,) + (:,)]
正如变量名称 exp1, exp2, ... expN
所暗示的那样,这仅适用于表达式。但是,:
本身不是表达式,因此 (:,)
是一个语法错误,因为冒号符号只能用于这种意义上的索引。
在 NumPy 中 documentation 我们在开头看到一个注释:
In Python, x[(exp1, exp2, ..., expN)] is equivalent to x[exp1, exp2, ..., expN]; the latter is just syntactic sugar for the former.
为什么 x[(:,:)] 而不是 x[:,:] 呢?例如,如果需要连接切片,则必须使用 [(0,) + (slice(None),)] 而不是 [(0,) + (:,)]
正如变量名称 exp1, exp2, ... expN
所暗示的那样,这仅适用于表达式。但是,:
本身不是表达式,因此 (:,)
是一个语法错误,因为冒号符号只能用于这种意义上的索引。