Python: 多数要素のリストを10個ずつのリストの集合にする
Pythonで多数の要素を持つリストを、 10個区切りのリストの集合に変換するコードを紹介します。 以下にサンプルデータと共にコードを示します。
サンプルデータ
元のリスト: [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] 10個区切りのリストの集合: チャンク 1: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] チャンク 2: [11, 12, 13, 14, 15, 16, 17, 18, 19, 20] チャンク 3: [21, 22, 23, 24, 25, 26, 27, 28, 29, 30] チャンク 4: [31, 32, 33, 34, 35, 36, 37]
サンプルコード
def chunk_list(lst, chunk_size=10): return [lst[i:i + chunk_size] for i in range(0, len(lst), chunk_size)] # サンプルデータ sample_list = list(range(1, 38)) # 1から37までの数字のリスト # 10個区切りのリストの集合に変換 result = chunk_list(sample_list) print("元のリスト:", sample_list) print("\n10個区切りのリストの集合:") for i, chunk in enumerate(result, 1): print(f"チャンク {i}: {chunk}")
このコードを実行すると、以下のような出力が得られます:
元のリスト: [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] 10個区切りのリストの集合: チャンク 1: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] チャンク 2: [11, 12, 13, 14, 15, 16, 17, 18, 19, 20] チャンク 3: [21, 22, 23, 24, 25, 26, 27, 28, 29, 30] チャンク 4: [31, 32, 33, 34, 35, 36, 37]
このコードの特徴:
chunk_list
関数は、リストと分割サイズ(デフォルトは10)を引数に取ります。- リスト内包表記を使用して、元のリストを指定されたサイズのチャンクに分割します。
- 最後のチャンクは、元のリストの要素数が分割サイズで割り切れない場合、10個未満になる可能性があります。
- サンプルデータとして、1から37までの数字のリストを使用しています。これにより、最後のチャンクが10個未満の要素を持つ例を示しています。
- 結果を見やすく表示するために、各チャンクに番号を付けて出力しています。
このコードは、大きなリストを扱う際に便利で、データ処理やバッチ処理などの場面で活用できます。