Aplanar listas anidadas en Python
La recursión maneja datos anidados a cualquier nivel donde los bucles simples se enredan.
def aplanar(anidada):
plana = []
for elemento in anidada:
if isinstance(elemento, list):
plana.extend(aplanar(elemento))
else:
plana.append(elemento)
return plana
Cómo funciona
- Recorre cada elemento de una lista posiblemente anidada.
- Las listas entran en recursión vía
isinstance; todo lo demás se agrega. - Devuelve una sola lista plana con todos los valores hoja.
Palabras clave y builtins usados aquí
defelseforifisinstancelistreturn
El intento, en números
- Líneas
- 8
- Caracteres a escribir
- 162
- Tokens
- 42
- Ritmo de tres estrellas
- 95 tpm
Al ritmo de tres estrellas de 95 tokens por minuto, este intento toma unos 27 segundos.
Paso 6 de 10 en Colecciones; paso 28 de 72 en Fundamentos del lenguaje.