将列表分割为n个块
将一个列表分割为n
个较小的列表。
- 使用
math.ceil()
和len()
来获取每个块的大小。 - 使用
list()
和range()
创建一个大小为n
的新列表。 - 使用
map()
将新列表的每个元素映射到一个长度为size
的块。 - 如果原始列表无法均匀分割,最后一个块将包含剩余的元素。
from math import ceil
def chunk_into_n(lst, n):
size = ceil(len(lst) / n)
return list(
map(lambda x: lst[x * size:x * size + size],
list(range(n)))
)
chunk_into_n([1, 2, 3, 4, 5, 6, 7], 4) # [[1, 2], [3, 4], [5, 6], [7]]