Espacio publicitario (banner)
AD

¿Ya dominas lo básico? Un curso estructurado de Python es la vía rápida para dar el salto.

Ver cursos de Python en Udemy

Enlace de afiliado. No te cuesta nada extra.

🐍Lecciones de Python
Lección 43 / 69

Aplanar una lista

En esta lección verás cómo aplanar una lista con una función recursiva, para trabajar con estructuras de datos anidadas. Está pensada para quien busca «aplanar una lista en Python» o «función recursiva en Python».

Cuando una lista contiene otras listas dentro, desplegarlo todo en una única lista «plana» se llama aplanar. Python no trae una función incorporada para esto, así que se implementa con una función recursiva: una técnica realmente útil para convertir datos anidados tipo JSON en una lista plana.

La función flatten del ejemplo comprueba si un elemento es una lista con isinstance(item, list). Si lo es, la función se llama a sí misma de forma recursiva y fusiona el resultado con .extend(); si no, añade el elemento directamente con .append(). La función recursiva se invoca a sí misma cada vez que encuentra otra lista.

Un error habitual al empezar es olvidar que una función recursiva siempre necesita una «condición de parada». Entender que la recursión se detiene en cuanto isinstance() determina que algo no es una lista —eso es lo que evita que se repita para siempre— resulta esencial, o te arriesgas a un bucle infinito no intencionado.

Es una técnica realmente útil en el trabajo real: agrupar datos relacionados, o reorganizar una respuesta de API muy anidada en algo más plano. La mentalidad de las funciones recursivas es además fundamental para aprender otros algoritmos.

Python
SALIDA

💡 El motor de Python puede tardar unos segundos en cargarse la primera vez que ejecutas código.

Espacio publicitario (banner)
Espacio publicitario (en el artículo)