Python中带有步骤的块切片

问题描述 投票:1回答:1

我想知道是否有可能在python中对第n个块进行子索引。可以做

a = [1, 2, 3, 4, 5, 6, 7, 8]
a[::2]

给出第二个值

[1, 3, 5, 7]

但是如果我想要类似的东西怎么办:

[1, 2, 5, 6]

所以基本上每个长度为2的第二个块都可以通过某种方式建立子索引吗?

python list slice
1个回答
0
投票

如果说要选择n个项目的每个k个项目,则可以使用以下列表理解:

a = [1, 2, 3, 4, 5, 6, 7, 8]

n = 4
k = 2

[a[i+j] for i in range(0, len(a)-1, n) for j in range(k)]
# [1, 2, 5, 6]
© www.soinside.com 2019 - 2024. All rights reserved.