List Comprehensions: List Comprehensions is a very simple but most commonly used function in python.
You can know from the name that the list generation should return a list type, which can generate the required list in the simplest and most understandable way.
Example: I need to get a list composed of the squares of all the numbers in the list 1-100. At this time, you can use a for loop:
Python code
a = [] for value in range(1, 101): a.append(value * value) print(a)
The a obtained at this time is an array composed of the square of each number in 1-100. This method is simple, but using list generation is even simpler.
Python code
a = [value * value for value in range(1,101)] print(a)
The a obtained is exactly the same as the a in the previous method.
In a = [value * value for value in range(1,101)], value * value is an expression. The number value comes from the for loop behind the expression. Each time the for loop loops, the expression is calculated. , and finally save the calculation results of each cycle in the for loop in a list. Finally assign it to a.
In list generation, you can also use multiple loops. For example:
Python code
a = [x * y for x in range(1,3) for y in range(3,5)] print(a)
The generated result is:
Terminal code
[3, 4, 6, 8]
range(1,3) is [1, 2], range(3,5 ) is [3, 4], x comes from range (1, 3), y comes from range (3, 5)
The results are: 1*3, 1*4, 2*3, 2*4
In addition, You can add conditional judgments to the list generation:
Python code
a = [value * value for value in range(1, 11) if value % 2 == 0] print(a)
#The result is:
[4, 16, 36, 64, 100]
Add conditional selection to the value after the for loop. This example is to calculate the square of an even number from 1 to 10