Comprehensions
List comprehensions
List comprehensions provide a concise way to create lists. Common applications are to make new lists where each element is the result of some operations applied to each member of another iterable, or to create a subsequence of those elements that satisfy a certain condition.
For example, we can create a list of squares, like
print([x ** 2 for x in [1, 7, 3, 9]])
which is more concise than using a for loop
squares = []
for x in [1, 7, 3, 9]:
squares.append(x)
print(squares)
The output of both code snippets above is
[1, 49, 9, 81]
Use if
to apply a filter, like
print([x ** 2 for x in [1, 7, 3, 9] if x > 4])
which prints
[49, 81]
Dict comprehensions
Similar to list comprehensions, but produces a dictionary instead of a list.
For example, we can create a dictionary of numbers and squares, like
print({x: x ** 2 for x in [1, 7, 3, 9]})
which prints
{1: 1, 7: 49, 3: 9, 9: 81}
Set comprehensions
Warning
Set comprehensions are not yet implemented.
Similar to list comprehensions, but produces a set instead of a list.
For example, we can create a set of squares, like
print({x ** 2 for x in [1, 7, 3, 9]})
which prints
{1, 49, 9, 81}