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)

  • 相关阅读:
    div3--C. Pipes
    Problem F Free Weights
    H
    Problem C Careful Ascent
    Problem L. World Cup
    Problem E. Bet
    Problem D. Ice Cream Tower
    A. Number Theory Problem
    A
    软考知识点梳理--项目评估
  • 原文地址:https://www.cnblogs.com/echo-up/p/9506510.html
Copyright © 2011-2022 走看看