Python List Comprehension¶
List comprehension offers a shorter syntax when you want to create a new list based on the values of an existing list.
Syntax¶
Example¶
Based on a list of fruits, you want a new list, containing only the fruits with the letter "a" in the name.
Without list comprehension:¶
fruits = ["apple", "banana", "cherry", "kiwi", "mango"]
newlist = []
for x in fruits:
if "a" in x:
newlist.append(x)
With list comprehension:¶
More Examples¶
- No condition:
[x for x in fruits] - Iterable:
[x for x in range(10)] - Expression:
[x.upper() for x in fruits] - If-Else:
[x if x != "banana" else "orange" for x in fruits]
Readability
List comprehension is very "Pythonic" and clean, but don't make them too complex or they become hard to read!