Intermédiaire
🧠 Fondamentaux
20 XP
0 personnes ont réussi
Aplatir une liste de listes avec reduce
reduce() ne se limite pas aux calculs numeriques. Tu peux l'utiliser pour combiner n'importe quel type de données, y compris des listes.
En Python, l'operateur + sur deux listes les concatene (les met bout a bout) :
[1, 2] + [3, 4] donne [1, 2, 3, 4]
Du coup, tu peux utiliser reduce() avec + pour aplatir une liste de listes en une seule liste. C'est un cas d'usage classique et tres utile.
Écris une fonction aplatir(listes) qui prend une liste de listes et renvoie une seule liste contenant tous les éléments.
Exemple :
aplatir([[1, 2], [3, 4], [5]]) renvoie [1, 2, 3, 4, 5]
aplatir([]) renvoie []
Tests (3/4)
Trois sous-listes
assert aplatir([[1, 2], [3, 4], [5]]) == [1, 2, 3, 4, 5]
Liste vide
assert aplatir([]) == []
Sous-listes vides
assert aplatir([[], [1], []]) == [1]
+ 0 tests cachés
Solution officielle
from functools import reduce
def aplatir(listes):
return reduce(lambda acc, lst: acc + lst, listes, [])
solution.py