Pythonのリストをn個ずつのリストに分割する方法

環境

  • macOS Monterey 12.0.1
  • Python 3.9.4
  • VSCode

使用するソースコード

以下の公開リポジトリに置いています

GitHub - masayan1126/tao-py-py: 作業自動化用 Python ライブラリ
作業自動化用 Python ライブラリ. Contribute to masayan1126/tao-py-py development by creating an account on GitHub.

実装

Pythonのlistのスライスを使用することで簡単に実装できます

masayan
masayan

スライスは、リストから開始位置startと終了位置stopを指定指定して取得できる方法のことです。

スライスは少し特殊で、対象のリストのインデックスからはみ出していてもエラーにならないという特性があります。

int_array =[1,2,3,4,5,6,7,8,9,10]

# 何個ずつに分割するか
n=4

# リスト内包表記
# rangeの第3引数(step)に数値を指定すると、stepずつ増加する等差数列が生成される([0, 4, 8]の1つずつがiに入る)
splited = [int_array[i: i+n] for i in range(0, len(int_array), n)]

print(splited) # [[1, 2, 3, 4], [5, 6, 7, 8], [9, 10]]

Python学習におすすめの書籍

独習Python/山田祥寛【3000円以上送料無料】
bookfan 1号店 楽天市場店
¥ 3,300(2023/01/31 18:22時点)
タイトルとURLをコピーしました