推导式

列表推导式

简单
[i for i in range(10)]
中级
[i for i in range(10) if i%2==0]
# 只添加偶数
高级
[(i,j,i*j) for i in range(20) for j in range(20) if i%2==0 if j%2==0]
# 前面是结果,也是最后执行的地方
# 中间是生成条件,第一步就执行,但是有两个for遍历,可以把两个for循环看成嵌套遍历,后面这个for相当于内层的
#后面的是筛选条件,第二部执行,若有多个条件的话必须同时满足多个
生成式和lambda连用
a = [lambda x, i=i:x * i for i in range(10)]
for i in a:
    print(i(2))
# 生成式和lambda连用,列表里面装的全是lambda函数,i引用的只是一个地址,当最后一个i值生成的时候
# 前面所有的i值都变成了此i值,解决办法就是在lambda函数中加入i=i储存前面生成的i值
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容