30秒学会 Python 片段 · 2018年12月3日

30秒学会 Python 片段 – chunk

Chunks a list into smaller lists of a specified size.

Use list() and range() to create a list of the desired size.
Use map() on the list and fill it with splices of the given list.
Finally, return the created list.

代码实现

from math import ceil

def chunk(lst, size):
  return list(
    map(lambda x: lst[x * size:x * size + size],
      list(range(0, ceil(len(lst) / size)))))

使用样例

chunk([1, 2, 3, 4, 5], 2) # [[1,2],[3,4],5]