Python
でリストを均等に分割する方法はいくつかありますが、特にジェネレーターやリスト内包表記が一般的です。まず、以下のジェネレーター関数を使用すると、効率的にリストをn個ずつに分割できます。
def chunks(lst, n):
for i in range(0, len(lst), n):
yield lst[i:i + n]
リストをリスト内包表記で分割する簡単な方法もあります。
lst = list(range(50))
chunks = [lst[i:i + 10] for i in range(0, len(lst), 10)]
さらに、Python
3.12以降ではitertools.batched()
を使うことでリストを分割できます。
import itertools
list(itertools.batched(range(50), 10))
このように、Python
では複数の方法でリストを均等に分割でき、用途に応じて選択可能です。