将列表分成块

将一个列表分成指定大小的较小列表。

  • 使用list()range()创建一个指定大小的列表。
  • 使用map()在列表上进行操作,并用给定列表的切片填充它。
  • 最后,返回创建的列表。
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]]