python列表生成式用法

巴扎黑
Libérer: 2016-12-03 10:17:17
original
1538 Les gens l'ont consulté

列表生成式:List Comprehensions,是python中非常非常简单但却最常用的一个功能。

根据名字就能知道,列表生成式所返回的应该是list类型,它能用最简单最易懂的写法生成所需要的列表。

例:我需要得到1-100这个list的所有数的平方所组成的一个list。此时可以用for循环:

Python代码  

a = []  
for value in range(1, 101):  
    a.append(value * value)  
  
print(a)
Copier après la connexion

此时得到的a就是1-100中每个数的平方所组成的数组。这个方法很简单,但是使用列表生成式更简单。

Python代码

a = [value * value for value in range(1,101)]  
print(a)
Copier après la connexion

得到的a与上一个方法中的a一摸一样。

在 a = [value * value for value in range(1,101)] 中,value * value是一个表达式,value这个数来源于表达式后面的for循环,for循环每循环一次,就计算一次表达式,最后将for循环中每次循环的数的计算结果都保存在一个列表中。最后赋值给a。

在列表生成式中,也可以使用多次循环。比如:

Python代码

a = [x * y for x in range(1,3) for y in range(3,5)]  
print(a)
Copier après la connexion

生成结果为:

终端代码

[3, 4, 6, 8]

range(1,3)为[1, 2], range(3,5)为[3,4],x来自range(1,3),y来自range(3,5)

结果为:1*3, 1*4, 2*3, 2*4

此外,还可以在列表生成式中增加条件判断:

Python代码

a = [value * value for value in range(1, 11) if value % 2 == 0]  
print(a)
Copier après la connexion

#结果为:  

[4, 16, 36, 64, 100]  

  在for循环后面给value值增加条件选择。此例子是计算1-10中偶数的平方


source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!