zoukankan      html  css  js  c++  java
  • 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).⽣成器的惰性机制: ⽣成器只有在访问的时候才取值. 

  • 相关阅读:
    接口和抽象类的异同点
    实体对象间传值克隆
    什么是反射&反射的8个类的用法
    ERP中反射的两个实例
    基础02 Java 跨平台原理
    基础01 dos命令
    lists删除
    多字段 java对象排序
    Java对象排序
    MySQL表中数据的迁移
  • 原文地址:https://www.cnblogs.com/amirky/p/10211552.html
Copyright © 2011-2022 走看看