list comprehensions are a very easy way to apply a function or filter to a list of items. List comprehensions can be very useful if used correctly but very unreadable if you're not careful.
Let's dive right into a few examples. The basic premise of a
list comprehension looks like this:
>>> squares = [x ** 2 for x in range(10)] >>> squares [0, 1, 4, 9, 16, 25, 36, 49, 64, 81]
We can easily expand this with a filter:
>>> uneven_squares = [x ** 2 for x in range(10) if x % 2] >>> uneven_squares [1, 9, 25, 49, 81]
The syntax is pretty close to regular Python for loops, but the
if statement and automatic storing of results makes it quite useful for some cases. The regular Python equivalent is not much longer, however: