Exercices de programmation pour classes préparatoires
Écrire une fonction récursive aplatir(lst) qui prend une liste pouvant contenir des sous-listes imbriquées a n'importe quelle profondeur, et renvoie une nouvelle liste "aplatie" contenant tous les éléments dans l'ordre.
Le principe récursif est : - Parcourir chaque élément de la liste. - Si l'élément est une liste, l'aplatir récursivement et ajouter ses éléments au résultat. - Sinon, ajouter l'élément directement au résultat.
On peut tester si un élément est une liste avec isinstance(element, list).
| Appel | Résultat attendu |
|---|---|
| aplatir([1, [2, 3], [4, [5, 6]]]) | [1, 2, 3, 4, 5, 6] |
| aplatir([[1, 2], [3, 4]]) | [1, 2, 3, 4] |
Connectez-vous pour soumettre du code.