📅  最后修改于: 2023-12-03 15:22:07.308000             🧑  作者: Mango
在Python中,我们通常需要将列表按照一定的规则切分成多个块。例如,将一个长度为n的列表按照块长k分为若干个长度为k的块和一个长度小于k的余块。
下面介绍几种常见的方法:
我们可以使用列表解析来实现将列表分成大小均匀的块。具体实现方法如下:
def chunks(lst, n):
return [lst[i:i + n] for i in range(0, len(lst), n)]
该函数将列表lst按照长度为n进行切分,返回长度为n的若干块和一个长度小于n的余块(如果存在的话)。
例如,我们将列表 [1, 2, 3, 4, 5, 6, 7, 8, 9] 切分为大小为3的块:
>>> chunks([1, 2, 3, 4, 5, 6, 7, 8, 9], 3)
[[1, 2, 3], [4, 5, 6], [7, 8, 9]]
如果你想使用更加高级的库,可以使用numpy数组来实现块的切分。具体实现方法如下:
import numpy as np
def chunks(lst, n):
return np.array_split(lst, n)
该函数将列表lst按照长度为n进行切分,返回长度为n的若干块和一个长度小于n的余块(如果存在的话)。
例如,我们将列表 [1, 2, 3, 4, 5, 6, 7, 8, 9] 切分为大小为3的块:
>>> chunks([1, 2, 3, 4, 5, 6, 7, 8, 9], 3)
[array([1, 2, 3]), array([4, 5, 6]), array([7, 8, 9])]
以上就是将列表按照大小均匀的块进行切分的两种方法。根据你的实际需求和使用习惯,选择合适的方法即可。