最新公告
  • 欢迎您光临码农资源网,本站秉承服务宗旨 履行“站长”责任,销售只是起点 服务永无止境!加入我们
  • Python3推导式

    推导式即是 Python
    内置的非常简单却强大的可以用来创建集合的语法,比如我们要生成 [0x0, 1×1, 2×2, 3×3, …, 10×10]
    这样的一个 list,我们可以写个函数通过循环来实现,Python
    语言提供了更高级的语法,我们不需要写函数,可以直接把语法写在推导式内部可以生成我们想要的集合。

    我们可以用推导式生成 list,set,或 dict 集合,对于 tuple 是生成器(我们下节介绍)。

    list 推导式

    比如我们想生成一个 [0x0, 1×1, 2×2, 3×3, …, 10×10] 的 list,我们可以写个 for 循环来实现。

    mylist = []
    for item in range(0, 11):
        mylist.append(item * item)
    
    print(mylist)

    如果我们使用 list 推导式来实现以上需求,则只需要一句话,哥就问你装逼不装逼。

    mylist = [item * item for item in range(0, 11)]
    print(mylist)

    比如我们想把 ['Hello', "毛票票Python", 2, ["Ok"] 中是字符串类型的成员的变成大写字母,代码要短,我用推导式。

    mylist = ["Hello", "毛票票Python", 2, ["Ok"]]
    myupperlist = [item.upper() if isinstance(item, str) else item for item in mylist]
    print(myupperlist) # ['HELLO', '毛票票PYTHON', 2, ['Ok']]

    dict 推导式

    我们知道使用中括号 [] 可以编写列表推导式,同样用大括号 {} 可以生成字典推导式。

    mydict = {item: item * item for item in range(0, 11)}
    print(mydict) # {0: 0, 1: 1, 2: 4, 3: 9, 4: 16, 5: 25, 6: 36, 7: 49, 8: 64, 9: 81, 10: 100}

    set 推导式 

    我们也可以用 set([]) 来作为集合推导式来生成 set。

    myset = set([item * item for item in range(0, 11)])
    print(myset) # {0, 1, 64, 4, 36, 100, 9, 16, 49, 81, 25}

    本节重要知识点

    会使用各种推导式,特别是 list 推导式。

    要清楚推导式里面支持的语法。

    想要了解更多内容,请持续关注码农资源网,一起探索发现编程世界的无限可能!
    本站部分资源来源于网络,仅限用于学习和研究目的,请勿用于其他用途。
    如有侵权请发送邮件至1943759704@qq.com删除

    码农资源网 » Python3推导式
    • 7会员总数(位)
    • 25846资源总数(个)
    • 0本周发布(个)
    • 0 今日发布(个)
    • 293稳定运行(天)

    提供最优质的资源集合

    立即查看 了解详情