是否有首选或内置的分区数组方式?

时间:2016-11-30 19:52:26

标签: python generator partition built-in

给定一个数组以及您希望它分成的几乎相同大小的部分的数量,是否有这样做的首选方式或者可以处理任务的内置?下面给出了两个示例实现,但有人可能知道更好的方法来完成工作。代码应主要设计为类似于数组的对象,但如果给定可迭代的话,可以选择适用。

示例1

def partition(array, parts):
    """Takes an array and splits it into roughly equally sized parts."""
    array_size = len(array)
    part_size = math.ceil(array_size / parts)
    for offset in range(0, array_size, part_size):
        yield array[offset:offset + part_size]

示例2

def partition(array, parts):
    """Takes an array and splits it into roughly equally sized parts."""
    size = math.ceil(len(array) / parts)
    for stop, start in enumerate(range(parts), 1):
        yield array[start * size:stop * size]

0 个答案:

没有答案