auの日記

プログラミング初心者の日記。(auはハンドルネームです)

n個ずつのリストに分割するPythonのコード

auです。

Pythonで以下のような機能の関数を実装します。

リストの中に1000個の値が入っていて、それをn個ずつのリストに分割したい。

それを3行のコードでできたので驚きました。その報告です。

# n個ずつのリストに分割する
def split_list(l, n):
    for i in range(0, len(l), n):
        yield l[i:i + n]


list(split_list(l, 200))

こんな短いコードでできたので感動しました。

yeildを使って途中で値を返し、また実行...という風にしているようですね。

returnとは違い、関数が終了しないのですごく便利でした。