| List comprehension |
[expr for item in iterable] |
[x*2 for x in range(4)] → [0, 2, 4, 6] |
| …with filter |
[expr for item in iterable if cond] |
[x for x in range(6) if x > 3] → [4, 5] |
| …with choice |
[a if cond else b for item in iterable] |
["y" if x%2==0 else "n" for x in range(3)] → ["y","n","y"] |
| …with both |
[a if cond else b for item in iterable if filter] |
["big" if x>3 else "small" for x in range(6) if x%2==0] → ["small","small","big"] |
| Nested loop |
[expr for item in iter1 for item2 in iter2] |
[(x,y) for x in [1,2] for y in ["a","b"]] → [(1,"a"),(1,"b"),(2,"a"),(2,"b")] |
| Generator expression |
(expr for item in iterable) |
sum(x for x in range(4)) → 6 |
| Dict comprehension |
{key: val for item in iterable} |
{x: x**2 for x in range(3)} → {0:0, 1:1, 2:4} |
| Set comprehension |
{expr for item in iterable} |
{x%3 for x in range(6)} → {0, 1, 2} |
| Ternary |
a if condition else b |
y = "even" if 4%2==0 else "odd" → "even" |
| Lambda |
lambda params: expression |
f = lambda x: x+1 then f(5) → 6 |
| Semicolons |
stmt; stmt; stmt |
x=1; y=2; print(x+y) → 3 |