Exercices Fonctions & Modules Déléguer avec yield from
🎉

Bravo!

Intermédiaire 🧠 Fondamentaux 20 XP 0 personnes ont réussi

Déléguer avec yield from

Parfois, un générateur a besoin de produire les valeurs d'un autre itérable. Tu pourrais écrire une boucle for avec yield dedans :

def mon_generateur():
for x in autre_iterable:
yield x

Mais Python propose un raccourci élégant : yield from. Ca fait exactement la même chose en une seule ligne :

def mon_generateur():
yield from autre_iterable

C'est particulièrement utile pour combiner plusieurs sources de données dans un seul générateur.

Écris un générateur aplatir(listes) qui prend une liste de listes et produit tous les éléments un par un, en aplatissant la structure.

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

Tests (3/4)

Aplatir 3 listes
assert list(aplatir([[1, 2], [3, 4], [5]])) == [1, 2, 3, 4, 5]
Listes vides
assert list(aplatir([[], [1], []])) == [1]
Liste vide
assert list(aplatir([])) == []

+ 0 tests cachés

Indices (3 disponibles)

solution.py