This is an old revision of the document!
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.
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 comprehension:
>>> [x**2 for x in range(10)] [0, 1, 4, 9, 16, 25, 36, 49, 64, 81]
The following defines the set of all squares, n2 such that n is an integer and n is in the range 0..9: {n2 | n ∈ Z ∧ 0 ≤ n ≤ 9 }.