帧范围分为块

时间:2012-09-11 13:35:12

标签: python range frame chunks

如何使某个帧范围(即1-100)分成4个相等的帧范围(如1-25,26-50,51-75,75-100或类似的任何东西)。我需要每个chunked帧范围的第一个和最后一个数字。

1 个答案:

答案 0 :(得分:4)

def chunk_range(first, last, howmany):
    size = ((last - first + 1) + (howmany - 1)) // howmany
    while first <= last:
        next = first + size
        yield first, min(next - 1, last)
        first = next

list(chunk_range(1, 100, 4))

返回

[(1, 25), (26, 50), (51, 75), (76, 100)]

请注意,除最后一个之外,这使得所有段的长度相等 - 例如,

list(chunk_range(1, 7, 3))

给你

[(1, 3), (4, 6), (7, 7)]   # last chunk is only one item

您可能希望沿序列分配错误,即Bresenham的算法。