Comprehensions
Python offers you different types of comprehensions: list
, dict
, and set
.
We'll concentrate on the first one for now, and then it will be easy to explain the other two.
A list
comprehension is a quick way of making a list. Usually the list is the result of some operation that may involve applying a function, filtering, or building a different data structure.
Let's start with a very simple example I want to calculate a list with the squares of the first 10 natural numbers. How would you do it? There are a couple of equivalent ways:
squares.map.py
# If you code like this you are not a Python guy! ;) >>> squares = [] >>> for n in range(10): ... squares.append(n ** 2) ... >>> list(squares) [0, 1, 4, 9, 16, 25, 36, 49, 64, 81] # This is better, one line, nice and readable >>> squares = map(lambda n: n**2, range(10)) >>> list(squares) [0, 1, 4, 9, 16, 25, 36, 49, 64, 81]
The preceding example should be nothing new for you...