列表生成式

来源:互联网 发布:dota2网络连接不上 编辑:程序博客网 时间:2024/04/30 16:22

一、列表生成式

生成[1,2,3,......100],我们用range(1,101)


但是要生成[1*1,2*2,3*3......100*100]的话,我们可以用到循环:


但是循环太麻烦,这种情况下,我们可以用列表生成式来完成:

[x*x for x in range(1,101)]



二、条件过滤

列表生成式中可以加上if条件过滤,例如[x*x for x in L if x%2==0]


再举一个例子巩固一下条件过滤:将list中的字符串变成大写并打印出来



三、多层表达式:[m+n for m in L1 for n in L2]


这几行代码相当于二重循环:




0 0