This is an old revision of the document!
List Comprehensions
List comprehensions are used for creating lists from existing lists and other iterable structures. List comprehensions typically follow formatting similar to set-builder notation in discrete mathematics.
Syntax
Consider the following illustrative Python3 example for generating a list of squares:
>>> sq = []
>>> for i in range(10):
... sq.append(i**2)
...
>>> sq
[0, 1, 4, 9, 16, 25, 36, 49, 64, 81]
The same could be achieved in the following list comprehension1)
>>> [i**2 for i in range(10)]
[0, 1, 4, 9, 16, 25, 36, 49, 64, 81]
Multiple Loops
Note that this basic syntax is easily extended to multiple loops and variables:
>>> [(x**2, y**2) for x in range(3) for y in range(3)]
[(0, 0), (0, 1), (0, 4), (1, 0), (1, 1), (1, 4), (4, 0), (4, 1), (4, 4)]