Pythonで配列をチャンクに分割する方法


  1. リスト内包表記を使用する方法:
def chunk_list(lst, chunk_size):
    return [lst[i:i + chunk_size] for i in range(0, len(lst), chunk_size)]
original_list = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
chunked_list = chunk_list(original_list, 3)
print(chunked_list)

出力:

[[1, 2, 3], [4, 5, 6], [7, 8, 9], [10]]
  1. ジェネレータ関数を使用する方法:
def chunk_generator(lst, chunk_size):
    for i in range(0, len(lst), chunk_size):
        yield lst[i:i + chunk_size]
original_list = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
chunked_list = list(chunk_generator(original_list, 3))
print(chunked_list)

出力:

[[1, 2, 3], [4, 5, 6], [7, 8, 9], [10]]
  1. NumPyを使用する方法:
import numpy as np
original_list = np.array([1, 2, 3, 4, 5, 6, 7, 8, 9, 10])
chunked_list = np.array_split(original_list, 4)
print(chunked_list)

出力:

[array([1, 2, 3]), array([4, 5, 6]), array([7, 8]), array([9, 10])]

これらの方法を使用すると、Pythonで配列をチャンクに分割することができます。必要に応じて、チャンクのサイズを調整してください。上記のコード例を参考にして、自分の要件に合った方法を選択してください。