• python之路---12 生成器 推导式


    三十、函数进阶

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

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

        ①创建生成器       最后以yield结束

          1. 通过⽣成器函数

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

        ②send用法     

        send 和 __next__都是下一个的意思

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

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

     

       ③yield from

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

          2.推导式  (只有列表,字典,集合 .    没有元组)

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

        2).字典推导式        { 结果(k,v)   for循环   if 条件} 

     

       3).集合推导式        {k  for循环   if 条件}

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

     

       3.生成器函数 

          1).生成器表达式    (i  for i  in  range(10))

         2).可以使⽤for循环来循环这个⽣成器:

         3).⽣成器表达式也可以进⾏筛选

     

        4).⽣成器的惰性机制: ⽣成器只有在访问的时候才取值. 

  • 相关阅读:
    js 复制 浏览器 点击 copy
    php 百度地图 腾讯地图 转换坐标
    Excel PHP html select option 替换
    python教程
    Eclipse 总是在编译的时候卡住
    python+Eclipse+pydev环境搭建1
    python+Eclipse+pydev环境搭建
    Pycharm
    如何卸载eclipse中的pydev
    Eclipse的PyDev插件安装及解决安装后找不到的问题
  • 原文地址:https://www.cnblogs.com/amirky/p/10211552.html
Copyright © 2020-2023  润新知