Comprehensions
Python ↔ Baobab
5 correspondences
List, dict and set comprehensions read like Python's, with pour/dans/si instead of for/in/if.
| Python | Baobab | Description |
|---|---|---|
| [x * 2 for x in l] | [x * 2 pour x dans l] | List comprehension: transform each item. |
| [x for x in l if cond] | [x pour x dans l si cond] | With a filter: keep only valid items. |
| {k: v for …} | {k: v pour …} | Dict comprehension. |
| {x for x in l} | {x pour x dans l} | Set comprehension. |
| [y for l2 in l for y in l2] | [y pour l2 dans l pour y dans l2] | Nested loops: flatten a list of lists. |
Complete example — 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]