Ir al contenido principal

Listas: bloques de tamaño N

En este tutorial, trabajarás con listas y aprenderás una forma eficiente de dividir listas de tamaño arbitrario en bloques de un tamaño dado.
Actualizado 17 sept 2026  · 5 min leer

Explorar con IA

ChatGPTClaudePerplexity

Las listas son estructuras de datos integradas en Python que almacenan elementos heterogéneos y permiten acceder a ellos de forma eficiente. La tarea de dividir listas en bloques de tamaño N es muy habitual cuando hay un límite en la cantidad de elementos que tu programa puede procesar en una sola petición.

Listas

Las listas son estructuras de datos que pueden contener valores o elementos de distinto tipo. Algunos ejemplos de elementos son enteros, flotantes, cadenas, etc. Las listas son mutables, lo que significa que puedes cambiar su contenido sin modificar su identidad. Se escriben entre corchetes [ ] y los elementos se separan con comas (,). Vamos a crear una lista de números con la que trabajar…

# Crear una lista de 95 números
list_numbers = list(range(1, 96))
print(list_numbers)
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95]

La función range() genera una secuencia de números. Tiene la forma: range([start], stop[, step]), donde «start» y «step» son parámetros opcionales. start es el número inicial de la secuencia; stop es el número hasta el que genera, sin incluirlo; y step es la diferencia entre cada número de la secuencia. Esta función es de índice 0, es decir, los índices de la lista empiezan en 0 cuando no se especifica el inicio.

Ahora, imagina que necesitas dividir la lista en sublistas más pequeñas, cada una con 5 elementos.

Una forma de hacerlo es definiendo un generador. Un generador es una manera elegante de definir un iterador. ¿Y qué es un iterador? En pocas palabras, es un objeto que sabe cómo calcular y devolver el siguiente elemento del objeto por el que estás iterando. Puedes leer más sobre iteradores y generadores en el tutorial de iteradores de Python de DataCamp.

Definimos una función que incluye el generador y hace el trabajo por nosotros.

 # Devuelve bloques consecutivos de tamaño 'n' de la lista 'list_name'
def create_chunks(list_name, n):
    for i in range(0, len(list_name), n):
        yield list_name[i:i + n]

# Llamamos a 'create_chunks' para dividir la lista en sublistas de 10 elementos cada una
print(list(create_chunks(list_numbers, 10)))

[[1, 2, 3, 4, 5, 6, 7, 8, 9, 10], [11, 12, 13, 14, 15, 16, 17, 18, 19, 20], [21, 22, 23, 24, 25, 26, 27, 28, 29, 30], [31, 32, 33, 34, 35, 36, 37, 38, 39, 40], [41, 42, 43, 44, 45, 46, 47, 48, 49, 50], [51, 52, 53, 54, 55, 56, 57, 58, 59, 60], [61, 62, 63, 64, 65, 66, 67, 68, 69, 70], [71, 72, 73, 74, 75, 76, 77, 78, 79, 80], [81, 82, 83, 84, 85, 86, 87, 88, 89, 90], [91, 92, 93, 94, 95]]

Otra forma de lograr lo mismo es usar una comprensión de listas. Puedes leer más sobre ello en el tutorial de list comprehensions en Python de DataCamp.

print([list_numbers[i: i+10] for i in range(0, len(list_numbers), 10)])

[[1, 2, 3, 4, 5, 6, 7, 8, 9, 10], [11, 12, 13, 14, 15, 16, 17, 18, 19, 20], [21, 22, 23, 24, 25, 26, 27, 28, 29, 30], [31, 32, 33, 34, 35, 36, 37, 38, 39, 40], [41, 42, 43, 44, 45, 46, 47, 48, 49, 50], [51, 52, 53, 54, 55, 56, 57, 58, 59, 60], [61, 62, 63, 64, 65, 66, 67, 68, 69, 70], [71, 72, 73, 74, 75, 76, 77, 78, 79, 80], [81, 82, 83, 84, 85, 86, 87, 88, 89, 90], [91, 92, 93, 94, 95]]

A medida que el problema se complica, las comprensiones de listas pueden volverse cada vez más difíciles de entender y depurar. Por eso, escribir una función clara, como la del generador, puede ser más útil y más fácil de mantener.

En este tutorial has aprendido dos maneras de resolver un problema bastante frecuente al trabajar con listas. Échale un vistazo al curso Data Types for Data Science de DataCamp.

Temas
Ciencia de datos
Python

Cursos de Python

Curso

Introducción a Python

4 h
7M
Domina los fundamentos del análisis de datos con Python en cuatro horas y descubre sus paquetes más usados.
Ver detallesRight Arrow
Iniciar Curso
Ver másRight Arrow
Relacionado

Tutorial

Cómo dividir listas en Python: Ejemplos básicos y métodos avanzados

Aprende a dividir listas de Python con técnicas como el corte, las comprensiones de listas y las herramientas iterativas. Descubre cuándo utilizar cada método para un manejo óptimo de los datos.
Allan Ouko's photo

Allan Ouko

11 min

Tutorial

Tutorial de módulos de Python: Importarlos, escribirlos y utilizarlos

Aprende a crear e importar módulos de Python. ¡Descubre las mejores prácticas, ejemplos y consejos para escribir código Python reutilizable, organizado y eficiente!

Nishant Kumar

8 min

Tutorial

Tutorial y ejemplos de funciones y métodos de listas en Python

Aprende sobre las funciones y métodos de las listas de Python. ¡Sigue ahora los ejemplos de código para list() y otras funciones y métodos de Python!
Abid Ali Awan's photo

Abid Ali Awan

7 min

Tutorial

Tutorial de Estructuras de Datos en Python

Introdúcete en las estructuras de datos de Python: aprende más sobre tipos de datos y estructuras de datos primitivas y no primitivas, como cadenas, listas, pilas, etc.
Sejal Jaiswal's photo

Sejal Jaiswal

24 min

Tutorial

Arreglos en Python

Arreglos de Python con ejemplos de código. ¡Aprende hoy mismo a crear e imprimir arreglos con Python NumPy!
DataCamp Team's photo

DataCamp Team

3 min

Jupyter and the notebook

Tutorial

Cómo utilizar Jupyter Notebooks: La guía definitiva

Este artículo explica qué son los blocs de notas y por qué deberías utilizarlos. También profundizamos en los cuadernos alojados, que facilitan el intercambio y la colaboración. Este artículo también incluye consejos, trucos y atajos de teclado.
Adam Shafi's photo

Adam Shafi

7 min

Ver MásVer Más