Skip to content

Instantly share code, notes, and snippets.

@devlights
Last active February 3, 2017 12:13
Show Gist options
  • Select an option

  • Save devlights/81b8420e4d3dedd77f4a04b98a410ffd to your computer and use it in GitHub Desktop.

Select an option

Save devlights/81b8420e4d3dedd77f4a04b98a410ffd to your computer and use it in GitHub Desktop.
[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)
@devlights

Copy link
Copy Markdown
Author

@devlights

devlights commented Feb 3, 2017

Copy link
Copy Markdown
Author

Results

[[[0, 1],
  [2, 3],
  [4, 5],
  [6, 7],
  [8, 9],
  [10, 11],
  [12, 13],
  [14, 15],
  [16, 17],
  [18, 19],
  [20, 21],
  [22, 23],
  [24, 25],
  [26, 27],
  [28, 29],
  [30, 31]],
 [[32, 33],
  [34, 35],
  [36, 37],
  [38, 39],
  [40, 41],
  [42, 43],
  [44, 45],
  [46, 47],
  [48, 49],
  [50, 51],
  [52, 53],
  [54, 55],
  [56, 57],
  [58, 59],
  [60, 61],
  [62, 63]],
 [[64, 65],
  [66, 67],
  [68, 69],
  [70, 71],
  [72, 73],
  [74, 75],
  [76, 77],
  [78, 79],
  [80, 81],
  [82, 83],
  [84, 85],
  [86, 87],
  [88, 89],
  [90, 91],
  [92, 93],
  [94, 95]],
 [[96, 97], [98, 99]]]

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment