Python 在 n 处切片列表并获取下一个 x 元素?
Python slice list at n and take the next x elements?
我无法 Google 这个问题,我想在索引 2 处分割 [1,2,3,4,5,6]
并获取接下来的 3 个元素(即 [3,4,5]
)。符号 list[start:stop:step]
实际上不允许这样做,或者我不知道某些 Pythonic 方式?
你可以做到
>>> l[2:5]
[3, 4, 5]
或者更一般地说,如果您知道切片的起始索引和长度
def sliceToLength(l, at, size):
return l[at: at+size]
>>> sliceToLength(l, 2, 3)
[3, 4, 5]
你可以做 两个 切片。
>>> l = [1, 2, 3, 4, 5, 6]
>>> l[start:][:length]
[3, 4, 5]
它只是增加了 3 个字符,尽管它在计算上相对昂贵,因为需要为第二个切片操作创建一个额外的中间对象。
(如果这是 Perl,:][:
可以被认为是 pseudo-operator。)
我无法 Google 这个问题,我想在索引 2 处分割 [1,2,3,4,5,6]
并获取接下来的 3 个元素(即 [3,4,5]
)。符号 list[start:stop:step]
实际上不允许这样做,或者我不知道某些 Pythonic 方式?
你可以做到
>>> l[2:5]
[3, 4, 5]
或者更一般地说,如果您知道切片的起始索引和长度
def sliceToLength(l, at, size):
return l[at: at+size]
>>> sliceToLength(l, 2, 3)
[3, 4, 5]
你可以做 两个 切片。
>>> l = [1, 2, 3, 4, 5, 6]
>>> l[start:][:length]
[3, 4, 5]
它只是增加了 3 个字符,尽管它在计算上相对昂贵,因为需要为第二个切片操作创建一个额外的中间对象。
(如果这是 Perl,:][:
可以被认为是 pseudo-operator。)