Dividir una lista en trozos más pequeños

PythonPythonBeginner
Practicar Ahora

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

💡 Este tutorial está traducido por IA desde la versión en inglés. Para ver la versión original, puedes hacer clic aquí

Introducción

En Python, a menudo necesitamos dividir una lista en listas más pequeñas de un tamaño especificado. Esto puede ser útil para varios propósitos, como procesar datos por lotes o mostrar datos en un formato paginado. En este desafío, se te pedirá escribir una función que pueda dividir una lista en listas más pequeñas de un tamaño especificado.

Dividir una lista en trozos

Escribe una función chunk(lst, size) que tome una lista lst y un entero positivo size como argumentos y devuelva una lista de listas más pequeñas, cada una de las cuales tiene un tamaño máximo de size. Si la longitud de lst no es divisible uniformemente por size, la última lista en la lista devuelta debe contener los elementos restantes.

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

Resumen

En este desafío, has aprendido cómo dividir una lista en listas más pequeñas de un tamaño especificado. Has escrito una función que toma una lista y un entero positivo como argumentos y devuelve una lista de listas más pequeñas, cada una de las cuales tiene un tamaño máximo del entero dado. Esto puede ser útil para varios propósitos, como procesar datos por lotes o mostrar datos en un formato paginado.