📌  相关文章
📜  你如何将列表分成大小均匀的块? - Python (1)

📅  最后修改于: 2023-12-03 15:22:07.308000             🧑  作者: Mango

如何将列表分成大小均匀的块? - Python

在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数组

如果你想使用更加高级的库,可以使用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])]
总结

以上就是将列表按照大小均匀的块进行切分的两种方法。根据你的实际需求和使用习惯,选择合适的方法即可。