码迷,mamicode.com
首页 > 其他好文 > 详细

12. 函数-推导式

时间:2019-10-26 22:45:29      阅读:96      评论:0      收藏:0      [点我收藏+]

标签:代码示例   筛选   str   语法   变量   strong   int   张无忌   代码   

一、列表推导式

1. 语法格式
    [ 结果 for 变量 in 可迭代对象 if 条件 ]

2. 代码示例
    # 100以内能被3整除的数的平方
    gen = [i * i for i in range(100) if i % 3 == 0]
    for num in gen:
        print(num)

二、生成器推导式

1. 语法格式
    ( 结果 for 变量 in 可迭代对象 if 条件 )

2. 代码示例
    # 100以内能被3整除的数的平方
    gen = (i * i for i in range(100) if i % 3 == 0)
    gen.__next__()
    
    for num in gen:
        print(num)

三、字典推导式

1. 语法格式
    {key: value for循环 if 筛选}

2. 代码示例
    dic = {"张无忌":"九阳神功", "乔峰":"降龙十八掌", "楚留香":"帅"}
    d = {dic[k]: k for k in dic}
    print(d)

四、集合推导式

1. 语法格式
    {key for if}

2. 代码示例
    lst = ["周杰伦","周伯通","周润发","周伯通","周笔畅","周伯通","周星驰","周伯通"]
    s = {el for el in lst}
    print(s)

备注:?成器表达式和列表推导式的区别:

  • 列表推导式比较耗内存. ?次性加载. ?成器表达式?乎不占?内存. 使?的时候才分 配和使?内存

  • 得到的值不?样. 列表推导式得到的是?个列表. ?成器表达式获取的是?个?成器.?成器的惰性机制: ?成器只有在访问的时候才取值

12. 函数-推导式

标签:代码示例   筛选   str   语法   变量   strong   int   张无忌   代码   

原文地址:https://www.cnblogs.com/hq82/p/11745641.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!