zoukankan      html  css  js  c++  java
  • python_函数进阶3

    一、生成器

    1、自己用python代码写的迭代器,生成器的本质就是迭代器

    2、def fun():

        print(111)
        yield 'aa'

        print(222)

    y = fun()  #生成器函数的对象

    print(y.__next__)   #111,aa  __next__取值

    3、yield不会结束函数,一个next对应一个yield,yield将值返回给对象

    4、生成器直接创建,不需要转化,从本质就节省内存

    5、send  yield

      send与next一样,也是对生成器取值(执行一个yield方法)

      send可以给上一个yield传值

      第一次取值永远是next

      最后一个yield永远也得不到send传的值

    二、列表推导式

    1、循环模式

      l = [i for i in range(100)]

    2、筛选模式

      l2 = [i for i in range(100) if i %2==0]

    3、优点:一行解决,方便

       缺点:不易排错,不能超过三次循环

    4、生成器表达式

      将列表推导式[]换成()即可

    5、字典推导式

      dic = ['a':10,'b':20]

      ite = (dic[k]:k for k in dic)

  • 相关阅读:
    0802作业1替换文本文件内容

    看病
    爬山
    作业1
    超市(未完成)
    图片复制
    替换
    文件
    英文字母和中文汉字在不同字符集编码下的字节数
  • 原文地址:https://www.cnblogs.com/echo-up/p/9506510.html
Copyright © 2011-2022 走看看