Exercices Algorithmes Aplatir une liste imbriquee
🎉

Bravo!

Avancé 🧠 Fondamentaux 30 XP 0 personnes ont réussi

Aplatir une liste imbriquee

Aplatir une liste, c'est transformer une liste qui contient d'autres listes (a n'importe quelle profondeur) en une liste plate.

Par exemple : [1, [2, 3], [4, [5, 6]]] devient [1, 2, 3, 4, 5, 6].

C'est un cas parfait pour la recursion : si un élément est une liste, on l'aplatit récursivement. Sinon, on l'ajoute directement au résultat.

Pour tester si un élément est une liste, on utilise isinstance(élément, list) qui retourne True si l'élément est de type list.

Pour ajouter plusieurs éléments a une liste d'un coup, on utilise extend au lieu de append. append ajoute un seul élément, extend ajoute tous les éléments d'un iterable.

Écris une fonction aplatir(lst) qui transforme une liste imbriquee en liste plate.

Exemple :
aplatir([1, [2, 3], [4, [5, 6]]]) renvoie [1, 2, 3, 4, 5, 6]
aplatir([1, 2, 3]) renvoie [1, 2, 3]
aplatir([[1, [2]], [3]]) renvoie [1, 2, 3]

Tests (3/4)

Liste imbriquee
assert aplatir([1, [2, 3], [4, [5, 6]]]) == [1, 2, 3, 4, 5, 6]
Deja plate
assert aplatir([1, 2, 3]) == [1, 2, 3]
Imbrication profonde
assert aplatir([[1, [2]], [3]]) == [1, 2, 3]

+ 0 tests cachés

Indices (3 disponibles)

solution.py