Home  >  Article  >  Backend Development  >  python list generation usage

python list generation usage

巴扎黑
巴扎黑Original
2016-12-03 10:17:171487browse

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


Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn