[] list comprehension¶
Description¶
Returns a list based on existing iterables.
Syntax¶
[expression(variable) for variable in input_set [predicate][, …]]
- expression
- Optional. An output expression producing members of the new set from members of the input set that satisfy the predicate expression.
- variable
- Required. Variable representing members of an input set.
- input_set
- Required. Represents the input set.
- predicate
- Optional. Expression acting as a filter on members of the input set.
- [, …]]
- Optional. Another nested comprehension.
Return Value¶
list
Time Complexity¶
#TODO
Remarks¶
A list comprehension follows the form of the mathematical set-builder notation (set comprehension) as distinct from the use of map() and filter() functions.
Consider the following example:
>>> l = [2 * n for n in (0, 1, 2) if n > 0]
>>> l
[2, 4]
This can be read as:
l is the list of all numbers 2 times n where n is an item in the (0, 1, 2) tuple, for which tuple element is greater than zero.
Example 1¶
>>> [n for n in [1, 2, 3]]
[1, 2, 3]
>>> [n * 2 for n in [1, 2, 3]]
[2, 4, 6]
>>> [n**2 for n in range(10)]
[0, 1, 4, 9, 16, 25, 36, 49, 64, 81]
Example 2¶
>>> [n for n in [1, 2, 3] if n % 2] # odd numbers only
[1, 3]
Example 3¶
>>> [[m, n] for n in [0, 2] for m in [1, 2]]
[[1, 0], [2, 0], [1, 2], [2, 2]]
>>> [[m, n] for n in [i for i in [0, 1]] for m in [1, 2]]
[[1, 0], [2, 0], [1, 1], [2, 1]]
See Also¶
#TODO