一.生成器

  函数中有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.⽣成器的惰性机制:

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

python ---12 生成器 推导式的更多相关文章

  1. 12.Python略有小成(生成器,推导式,内置函数,闭包)

    Python(生成器,推导式,内置函数,闭包) 一.生成器初始 生成器的本质就是迭代器,python社区中认为生成器与迭代器是一种 生成器与迭代器的唯一区别,生成器是我们自己用python代码构建成的 ...

  2. python之路---12 生成器 推导式

    三十.函数进阶 1.生成器    函数中有yield 的就是生成器函数(替代了return) 本质就是迭代器   一个一个的创建对象     节省内存 ①创建生成器       最后以yield结束 ...

  3. python迭代器,生成器,推导式

    可迭代对象 字面意思分析:可以重复的迭代的实实在在的东西. list,dict(keys(),values(),items()),tuple,str,set,range, 文件句柄(待定) 专业角度: ...

  4. 记录我的 python 学习历程-Day12 生成器/推导式/内置函数Ⅰ

    一.生成器 初识生成器 生成器的本质就是迭代器,在python社区中,大多数时候都把迭代器和生成器是做同一个概念. 唯一的不同就是: 迭代器都是Python给你提供的已经写好的工具或者通过数据转化得来 ...

  5. Python函数04/生成器/推导式/内置函数

    Python函数04/生成器/推导式/内置函数 目录 Python函数04/生成器/推导式/内置函数 内容大纲 1.生成器 2.推导式 3.内置函数(一) 4.今日总结 5.今日练习 内容大纲 1.生 ...

  6. Python进阶(四)----生成器、列表推导式、生成器推导式、匿名函数和内置函数

    Python进阶(四)----生成器.列表推导式.生成器推导式.匿名函数和内置函数 一丶生成器 本质: ​ 就是迭代器 生成器产生的方式: ​ 1.生成器函数

  7. Python——生成器&推导式

    生成器 生成器的本质就是迭代器,那么还为什么有生成器呢,两者唯一的不同就是迭代器都是Python给你提供能够的已经写好的工具或者通过数据转化得来的.而生成器是需要我们自己用Python代码构建的工具. ...

  8. Python之路-迭代器 生成器 推导式

    迭代器 可迭代对象 遵守可迭代协议的就是可迭代对象,例如:字符串,list dic tuple set都是可迭代对象 或者说,能被for循环的都是可迭代对象 或者说,具有对象.__iter__方法的都 ...

  9. python 列表推导式,生成器推导式,集合推导式,字典推导式简介

    1.列表推导式multiples = [i for i in range(30) if i % 2 is 0]names = [[],[]]multiples = [name for lst in n ...

随机推荐

  1. PyQT5速成教程-1 简介与环境搭建

    本文由 沈庆阳 所有,转载请与作者取得联系! PyQt简介 一个良好的界面是人机交互中十分重要的一环. Python作为脚本语言,起初并未拥有GUI开发的部分.但随着其开放的扩展性,使得Python不 ...

  2. .NET 黑魔法 - asp.net core 身份认证 - Policy

    身份认证几乎是每个项目都要集成的功能,在面向接口(Microservice)的系统中,我们需要有跨平台,多终端支持等特性的认证机制,基于token的认证方式无疑是最好的方案.今天我们就来介绍下在.Ne ...

  3. 关于oracle中的数字类型

    1.关于number类型. 以下是从其文档中摘录出的一句话: p is the precision, or the total number of significant decimal digits ...

  4. Unity shader学习之阴影

    Unity阴影采用的是 shadow map 的技术,即把摄像机放到光源位置上,看不到的地方就有阴影. 前向渲染中,若一光源开启了阴影,Unity会计算它的阴影映射纹理(shadow map),它其实 ...

  5. Unity shader学习之Blinn-Phong光照模型

    Blinn-Phong光照模型不用计算反射方向,计算公式如下: h = normalize(v + l); Cspecular = Clight * mspecular * pow(max(0, do ...

  6. SolidWorks242个使用技巧

    1 您可以使用 CTRL+TAB 键循环进入在 SolidWorks 中打开的文件. 2 使用方向键可以旋转模型.按 CTRL 键加上方向键可以移动模型.按 ALT 键加上方向键可以将模型沿顺时针或逆 ...

  7. Java将对象保存到文件中/从文件中读取对象

    1.保存对象到文件中 Java语言只能将实现了Serializable接口的类的对象保存到文件中,利用如下方法即可: public static void writeObjectToFile(Obje ...

  8. numpy 数据处理

    np.meshgrid() meshgrid 传入两个一维数组,返回第一个二维数组用第一个传入的一维数组为行,第二个传入的一维数组为列返回的第二个数组是以第二个传入的一维数组为行,第一个一维数组为列 ...

  9. 20165215 2017-2018-2 《Java程序设计》第5周学习总结

    20165215 2017-2018-2 <Java程序设计>第5周学习总结 教材学习内容总结 chapter7 Java支持在一个类中声明另外一个类,这样的类称作内部类,而包含内部类的类 ...

  10. js如何获取服务器端时间?

    用js做时间校正,获取本机时间,是存在bug的. 使用js也可获取到服务器时间,原理是使用 ajax请求,返回的头部信息就含有服务器端的时间信息,获取到就可以了.以下: 1.依赖jQuery 代码: ...