推导式

作者: 胖虎很可爱 | 来源:发表于2018-04-20 16:24 被阅读0次

列表推导式

简单
[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值

相关文章

网友评论

      本文标题:推导式

      本文链接:https://www.haomeiwen.com/subject/gzhzkftx.html