List Comprehensions
Syntax
[expression for item in iterable]
[expression for item in iterable if condition]
[a if cond else b for item in iterable]
Examples
# Squares
squares = [x**2 for x in range(5)] # [0, 1, 4, 9, 16]
# Filter evens
evens = [x for x in range(10) if x % 2 == 0] # [0, 2, 4, 6, 8]
# Transform
labels = ["even" if x % 2 == 0 else "odd" for x in range(5)]
# Nested (flatten)
matrix = [[1, 2], [3, 4]]
flat = [n for row in matrix for n in row] # [1, 2, 3, 4]
Key Points
ifbeforefor= filteringif-elseafterfor= transformation- Faster than equivalent loops