zoukankan      html  css  js  c++  java
  • 生成器

    定义:一边循环一边计算的机制称为生成器

    最大的特点:节省内存

    生成器的本质是迭代器

         

        

      send  关键字

         send  对应一个yied

             1 给上一个yield传值

             2  打印yield值

                    最后一个yield取不到send传的值

         

       yield  from  关键字

                yiekd  from 他会将这个可迭代对象(列表)的每一个元素当成迭代器的每个结果进行返回

             如果是yield返回的是列表整体

           

        列表推导式  []

              1 循环模式 [变量(加工后的变量)for 变量initerable]

               2 筛选模式 [变量(加工后的变量)for 变量initerable  if  条件]

       生成器表达式    ()

             生成器表达式和列表推导式的语法上一摸一样,只是把[]换成()就行了

              取值通过for循环,或者用list放列表,可以直观查看到值

        生成器表达式和列表推导式的区别

          1 列表推导式比较耗内存,所有数据一次性加载到内存,而生成器表达式遵循迭代器协议,逐个产生元素

          2 得到的值是不一样,列表推导式得到的是一个列表,生成表达式获取的是一个生成对象

          3 列表推导式一目了然,生成器表达式只是一个内存地址。

  • 相关阅读:
    QT5控件-QDateTimeEdit和类QDateTime
    QT5-控件-QTimeEdit和QTime
    QT5-控件-QDateEdit 和 日期类QDate
    QT5-控件-QComboBox
    错误记录 "MongoClient opened before fork. Create MongoClient "
    GitHub 常用命令
    Linux学习记录-----《快乐的Linux命令行》.
    最全的HTTP1.1状态码
    恢复旋转排序数组
    C语言I博客作业09
  • 原文地址:https://www.cnblogs.com/lisen321/p/11883085.html
Copyright © 2011-2022 走看看