zoukankan      html  css  js  c++  java
  • python ---12 生成器 推导式

    一.生成器   

      函数中有yield 的就是生成器函数(替代了return)

          本质就是迭代器   一个一个的创建对象     节省内存

      1.创建生成器   

         最后以yield结束

          1. 通过⽣成器函数

            2. 通过各种推导式来实现⽣成器
          3. 通过数据的转换也可以获取⽣成器  

      2.send用法     

        send 和 __next__都是下一个的意思

          但send可以给上一个yield 位置传值   不能给最后⼀个yield发送值. 在第⼀次执⾏⽣

          成器代码的时候不能使⽤send()

     

       3.yield from

          把一个yield from循环完再循环下一个yield from

    二.推导式

      (只有列表,字典,集合 .    没有元组)

        1. 列表推导式      [ 结果   for循环   if 条件]

      2.字典推导式

        { 结果(k,v)   for循环   if 条件} 

     

      3.集合推导式

        {k  for循环   if 条件}

         集合的特点: ⽆序, 不重复. 所以集合推导式⾃带去重功能

     

    三.生成器函数

         1.生成器表达式   

      (i  for i  in  range(10))

      2.可以使用for循环来循环这个生成器

     

      3.生成器表达式也可以进行筛选

     

     

      4.⽣成器的惰性机制:

      ⽣成器只有在访问的时候才取值. 

  • 相关阅读:
    artZoom 图片可放大旋转
    Node.js究竟是什么?
    图片上传 纯js编码
    图片上传jQuery插件(兼容IE8)
    nodejs API(二)
    zuul网关
    Hystrix集群及集群监控turbine
    熔断器Hystrix及服务监控Dashboard
    Ribbon负载均衡及Feign消费者调用服务
    Eureka集群
  • 原文地址:https://www.cnblogs.com/sc-1067178406/p/10103582.html
Copyright © 2011-2022 走看看