リストを小さなチャンクに分割する

Beginner

This tutorial is from open-source community. Access the source code

はじめに

Python では、リストを指定されたサイズの小さなリストに分割する必要がよくあります。これは、データをバッチ処理するためや、ページネーション形式でデータを表示するためなど、さまざまな目的に役立ちます。このチャレンジでは、指定されたサイズの小さなリストにリストを分割できる関数を書くことが求められます。

リストをチャンクに分割する

chunk(lst, size) という関数を書きましょう。この関数は、リスト lst と正の整数 size を引数として受け取り、最大サイズが size の小さなリストのリストを返します。lst の長さが size で割り切れない場合、返されるリストの最後のリストは残りの要素を含む必要があります。

from math import ceil

def chunk(lst, size):
  return list(
    map(lambda x: lst[x * size:x * size + size],
      list(range(ceil(len(lst) / size)))))
chunk([1, 2, 3, 4, 5], 2) ## [[1, 2], [3, 4], [5]]

まとめ

このチャレンジでは、指定されたサイズの小さなリストにリストを分割する方法を学びました。リストと正の整数を引数として受け取り、与えられた整数の最大サイズを持つ小さなリストのリストを返す関数を書きました。これは、データをバッチ処理するためや、ページネーション形式でデータを表示するためなど、さまざまな目的に役立ちます。