将列表拆分为更小的块

PythonPythonBeginner
立即练习

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

💡 本教程由 AI 辅助翻译自英文原版。如需查看原文,您可以 切换至英文原版

简介

在 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]]

总结

在这个挑战中,你已经学会了如何将一个列表拆分成指定大小的较小列表。你编写了一个函数,该函数接受一个列表和一个正整数作为参数,并返回一个由较小列表组成的列表,每个较小列表的最大大小为给定的整数。这在各种情况下都很有用,例如批量处理数据或以分页格式显示数据。