如何在Python中将数组分割成给定长度的块?

Nan*_*ano 6 python

什么是最快和最短的方法来扭转这个:

ids = [1, 2, 3, 4, 5, 6, 7, 8, 9]
Run Code Online (Sandbox Code Playgroud)

例如:

ids = [[1, 2], [3, 4], [5, 6], [7, 8], [9]]
Run Code Online (Sandbox Code Playgroud)

通过将输入指定2为固定长度。

当然,有一些简单的方法可以做到这一点,但我认为它们都不是那么快或漂亮。

Spi*_*kas 17

你为什么不尝试一下列表理解呢?

例子:

[ids[i:i+2] for i in range(0,len(ids),2)]
Run Code Online (Sandbox Code Playgroud)

输出:

[[1, 2], [3, 4], [5, 6], [7, 8], [9]]

  • 我认为范围还应该包括一个步骤。(如果您将此作为答案而不是方向发布) (2认同)