在 python 中创建切片对象

Creating a slice object in python

如果我有一个数组 a,我知道如何以各种方式对它进行切片。具体来说,要从任意第一个索引切片到数组的末尾,我会做 a[2:].

但是我如何创建切片对象来实现相同的目的呢?创建 documented 切片对象的两种方法是 slice(start, stop, step)slice(stop)

因此,如果我像在 a[2:] 中那样传递单个参数,slice 对象会将其解释为停止索引而不是起始索引。

问题:如何将索引传递给具有起始索引的slice对象,并获得一个切片对象,该切片对象一直切片到最后?我不知道列表的总大小。

在任何地方使用 None 基于语法的 slice 使用空白值:

someseq[slice(2, None)]

相当于:

someseq[2:]

类似地,someseq[:10:2] 可以使用由 slice(None, 10, 2) 定义的预构造 slice,等等