Comprehensions
Comprehensions are a concise notation, both perform some operation for a collection of elements, and/or select a subset of them that meet some condition. They are borrowed from the functional programming language Haskell (https://www.haskell.org/), and contribute to giving Python a functional flavor, together with iterators and generators.
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.
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 dev! ;) >>> squares = [] >>> for n in range(10): ... squares.append(n ** 2) ... >>> squares [0, 1, 4, 9, 16, 25, 36, 49, 64, 81] # This is better, one line, nice and readable >>> squares = map(lambda...