• 生成器进阶


    Send

    首先:send和next工作得起步位置是完全相同得

          Send可以吧一个值作为信号量传递到函数中去

          在生成器执行伊始,只能先用next

          只要要用send传递参数得时候,必须在生成器中还有一个未被返回得yield

     

    列表表达式==列表推导式   #简化你得代码

    Print([i*I for i in [1,3,5]])   #结果必须是一个列表

    生成器表达式  节省内存。简化代码

    Laomuji=(‘egg%d’%i for I in range(10))

        Print(laomuji)

    三种方法从生成器中取值

    1.     A__next__()

    2.     For

    For  I   in  a:

    Print(i)

    3.      List 强转

    Print(list(a))

    集合推导式有自动去重功能

    l=[-1,1,2,3,4,5]
    print([i*i for i in l])
    print({i*i for i in l})

    列表推导式[] – 生成器表达式()

    尽量让推导式简化你得操作,增强代码得可读性

    如果推导式过于复杂了,应该转换成普通得python代码

    所有得列表推导式都可以转换成生成器表达式,并且应该在代码中尽可能多使用生成器表达式而不是列表推导式

  • 相关阅读:
    Codeforces
    Codeforces
    SCUT
    Codeforces
    Codeforces
    poj 2229 Sumsets(类似于n的m划分)
    poj 1742 Coins(多重背包)
    hdu 2159FATE(完全背包)
    NOIP 普及组 2014 比例简化
    2018.10.2浪在ACM 集训队第三次测试赛
  • 原文地址:https://www.cnblogs.com/ez2z/p/7481529.html
Copyright © 2020-2023  润新知