Compréhensions
Python ↔ Baobab
5 correspondances
Les compréhensions de listes, de dictionnaires et d'ensembles s'écrivent comme en Python, avec pour/dans/si à la place de for/in/if.
| Python | Baobab | Description |
|---|---|---|
| [x * 2 for x in l] | [x * 2 pour x dans l] | Compréhension de liste : transforme chaque élément. |
| [x for x in l if cond] | [x pour x dans l si cond] | Avec filtre : ne garde que les éléments valides. |
| {k: v for …} | {k: v pour …} | Compréhension de dictionnaire. |
| {x for x in l} | {x pour x dans l} | Compréhension d'ensemble. |
| [y for l2 in l for y in l2] | [y pour l2 dans l pour y dans l2] | Doubles boucles : aplatit une liste de listes. |
Exemple complet - Baobab ↔ Python
Baobab
123456789101112131415nombres = [1, 2, 3, 4, 5, 6]
carres = [n ** 2 pour n dans nombres]
afficher(carres) # → [1, 4, 9, 16, 25, 36]
pairs = [n pour n dans nombres si n % 2 == 0]
afficher(pairs) # → [2, 4, 6]
noms = ["amina", "kofi"]
majuscules = {n: n.majuscules() pour n dans noms}
afficher(majuscules) # → {"amina": "AMINA", "kofi": "KOFI"}
matrice = [[1, 2], [3, 4]]
plat = [x pour ligne dans matrice pour x dans ligne]
afficher(plat) # → [1, 2, 3, 4]Python
123456789101112131415nombres = [1, 2, 3, 4, 5, 6]
carres = [n ** 2 for n in nombres]
print(carres) # → [1, 4, 9, 16, 25, 36]
pairs = [n for n in nombres if n % 2 == 0]
print(pairs) # → [2, 4, 6]
noms = ["amina", "kofi"]
majuscules = {n: n.upper() for n in noms}
print(majuscules) # → {"amina": "AMINA", "kofi": "KOFI"}
matrice = [[1, 2], [3, 4]]
plat = [x for ligne in matrice for x in ligne]
print(plat) # → [1, 2, 3, 4]