devlights
2/3/2017 - 12:02 PM

[python] chunk 処理

[python] chunk 処理

# coding: utf-8

from typing import Iterable, Iterator, Any


def chunks(sequence: Iterable, chunk_size: int = 1) -> Iterator[Any]:
    """
    指定されたシーケンスを指定されたチャンクに分割します.

    :param sequence: シーケンス
    :param chunk_size: チャンクサイズ
    :return: Iterator[Any]
    """
    for i in range(0, len(sequence), chunk_size):
        yield sequence[i:i + chunk_size]


if __name__ == '__main__':
    bits = list(range(100))
    results = list(chunks(list(chunks(bits, 2)), 16))
    pprint.pprint(results)