List comprehensions provide a concise way to create lists. It consists of brackets containing an expression followed by a for clause, then zero or more for or if clauses. The expressions can be anything, meaning you can put in all kinds of objects in lists.
The result will be a new list resulting from evaluating the expression in the context of the for and if clauses which follow it.
The list comprehension always returns a result list.
If you used to do it like this:
new_list = [] for i in old_list: if filter(i): new_list.append(expressions(i))
You can obtain the same thing using list comprehension:
new_list = [expression(i) for i in old_list if filter(i)]
Examples
x = [i for i in range(10)] print x
# This will give the output:
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
For the next example, assume we want to create a list of squares.
# You can either use loops: squares = [] for x in range(10): squares.append(x**2) print squares [0, 1, 4, 9, 16, 25, 36, 49, 64, 81] # Or you can use list comprehensions to get the same result: squares = [x**2 for x in range(10)] # print squares [0, 1, 4, 9, 16, 25, 36, 49, 64, 81]
No comments:
Post a Comment