特定のフレーム範囲 (つまり、1 ~ 100) を 4 つの等しいフレーム範囲 (1 ~ 25、26 ~ 50、51 ~ 75、75 ~ 100 など) に分割する方法。チャンクされたすべてのフレーム範囲の最初と最後の桁が必要です。
質問する
286 次
1 に答える
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
代わりに、ブレセンハムのアルゴリズムのように、エラーをシーケンスに沿って分散させたい場合があります。
于 2012-09-11T13:46:13.577 に答える