列表生成式:list comprehensions,是python中非常非常简单但却最常用的一个功能。
根据名字就能知道,列表生成式所返回的应该是list类型,它能用最简单最易懂的写法生成所需要的列表。
例:我需要得到1-100这个list的所有数的平方所组成的一个list。此时可以用for循环:
Python代码
a = [] for value in range(1, 101): a.append(value * value) print(a)
登录后复制
此时得到的a就是1-100中每个数的平方所组成的数组。这个方法很简单,但是使用列表生成式更简单。
立即学习“Python免费学习笔记(深入)”;
Python代码
a = [value * value for value in range(1,101)] print(a)
登录后复制
得到的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)
登录后复制
生成结果为:
终端代码
[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)
登录后复制
#结果为:
[4, 16, 36, 64, 100]
在for循环后面给value值增加条件选择。此例子是计算1-10中偶数的平方
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至253000106@qq.com举报,一经查实,本站将立刻删除。
发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/2282316.html