在 Python 列表中保留两个、跳过两个

Kri*_*ler 4 python indexing list

我有一个 Python 列表

num_list = list(range(1,33))
Run Code Online (Sandbox Code Playgroud)

并且需要列表中的所有其他数字对,如下所示:

[1, 2, 5, 6, 9, 10 ... ]
Run Code Online (Sandbox Code Playgroud)

我已经弄清楚如何从列表中排除某些索引,就像这样

num_list[2::3]

> [3, 6, 9, 12, 15, 18, 21, 24, 27, 30]
Run Code Online (Sandbox Code Playgroud)

但还没有弄清楚如何让它一次捕获两个索引。

lut*_*her 9

您可以使用enumerate,然后以数学方式过滤索引:

[v for i, v in enumerate(num_list) if i % 4 < 2]
Run Code Online (Sandbox Code Playgroud)