迭代器和生成器

迭代器:

双下方法:很少直接调用的方法,一般情况下,是通过其他方法触发的

可迭代的协议——可迭代协议 含有__iter__ 的方法 ('__iter__' in dir(数据))

可迭代的一定可以被for循环

迭代器协议:含有 __iter__ 和 __next__ 方法

迭代器一定可以迭代, 可迭代的通过调用 __iter__() 方法就能得到一个迭代器

迭代器的特点:

  很方便的使用,一个迭代器只能从前往后,取一次

  节省内存空间

  

生成器:

生成器的本质就是迭代器

生成器的表现形式

  生成器函数

  生成器表达式

生成器函数:

  含有yield关键字的函数就是生成器

  特点:

    调用函数之后函数不执行,返回一个生成器

    每次调用next方法的时候回取到一个值

    直到取完最后一个,再执行next的话就会报错

写生成器实现:有一个文件,从文件里分段读取内容

readline

read(10)

在读出来的内容前面加上一个  '***',再返回给调用者

def generator():for i in range(20):yield '哇哈哈%s'%ig = generator()  #调用生成器函数得到一个生成器
print(list(g))   #数据类型的强制装换 生成器转化为列表
#ret = g.__next__() #每一次执行g.__next__就是从生成器中取值,预示着生成器函数中的代码继续执行 #print(ret) g1 = generator() num = 0 for i in g1: num += 1 if num > 50: break print(i) # 从生成器中取值的几个方法 # next # for # 数据类型的强制转换 : 占用内存

# 从生成器中取值的几个方法    # next    # for    # 数据类型的强制转换 : 占用内存

  

转载于:https://www.cnblogs.com/LXL616/p/10676928.html

Python_迭代器和生成器的复习_38相关推荐

  1. Python_迭代器与生成器

    迭代器 迭代是Python最强大的功能之一,是访问集合元素的一种方式.. 迭代器是一个可以记住遍历的位置的对象. 迭代器对象从集合的第一个元素开始访问,直到所有的元素被访问完结束.迭代器只能往前不会后 ...

  2. dataloader 源码_pytorch :: Dataloader中的迭代器和生成器应用

    在使用pytorch训练模型,经常需要加载大量图片数据,因此pytorch提供了好用的数据加载工具Dataloader. 为了实现小批量循环读取大型数据集,在Dataloader类具体实现中,使用了迭 ...

  3. 批量生成数组_JavaScript【重温基础】13.迭代器和生成器

    本文是 重温基础 系列文章的第十三篇. 今日感受:每次自我年终总结,都会有各种情绪和收获. 本章节复习的是JS中的迭代器和生成器,常常用来处理集合. 前置知识: JavaScrip已经提供多个迭代集合 ...

  4. 完全理解Python迭代对象、迭代器、生成器

    本文源自RQ作者的一篇博文,原文是Iterables vs. Iterators vs. Generators,俺写的这篇文章是按照自己的理解做的参考翻译,算不上是原文的中译版本,推荐阅读原文,谢谢网 ...

  5. Python学习笔记3 流程控制、迭代器、生成器

    第3章 流程控制.迭代器.生成器 3.1 选择语句 1.语法:(1)if -else (2)if-elif-else 2.注意:(1)每个条件后面要使用冒号:(2)使用缩进划分语句块(3)python ...

  6. pythonfor循环遍历list_为什么for循环可以遍历list:Python中迭代器与生成器

    1 引言 只要你学了Python语言,就不会不知道for循环,也肯定用for循环来遍历一个列表(list),那为什么for循环可以遍历list,而不能遍历int类型对象呢?怎么让一个自定义的对象可遍历 ...

  7. javascript迭代器_JavaScript符号,迭代器,生成器,异步/等待和异步迭代器-全部简单解释...

    javascript迭代器 by rajaraodv 通过rajaraodv JavaScript符号,迭代器,生成器,异步/等待和异步迭代器-全部简单解释 (JavaScript Symbols, ...

  8. 完全理解 Python 迭代对象、迭代器、生成器(转)

    完全理解 Python 迭代对象.迭代器.生成器 本文源自RQ作者的一篇博文,原文是Iterables vs. Iterators vs. Generators » nvie.com,俺写的这篇文章是 ...

  9. 简单介绍python迭代器和生成器

    这篇文章主要介绍了Python中的迭代器和生成器,涉及到Python中很多重要的特性,需要的朋友可以参考下,希望能够给你带来帮助 python迭代器和生成器 1.迭代器 这里用字典示例 while T ...

最新文章

  1. Focal Loss和它背后的男人RetinaNet
  2. python多线程爬虫实例-python支持多线程的爬虫实例
  3. 学习笔记——pygame最常用的15个模块
  4. Restrict Users to Use Old Passwords
  5. 【机器学习】LR的分布式(并行化)实现
  6. 日期时间格式转化为方便理解的格式
  7. [前缀和][dp] Jzoj P5873 小p的属性
  8. UML基础与应用系列文章汇总
  9. java中的类方法和实例方法_下面关于Java语言中实例方法和类方法的说法,哪几项是对的?...
  10. VUE 完整项目构建 (1) -- 初始化
  11. 计算机二级c语言填空题库,全国计算机二级C语言填空题库.doc
  12. ubuntu安装java虚拟机
  13. Quartus波形仿真教程
  14. fpm平滑重启_详解nginx及FPM平滑重启
  15. kafka 验证_KAFKA:简单的验证码实施
  16. 华为笔记本键盘说明图_笔记本电脑的的键盘都表示什么意思
  17. 基于Java的飞机大战游戏的设计与实现论文
  18. 服务器电脑上保存的文件找不到了,保存在电脑上的word文件突然找不到怎么办?该如何找回来...
  19. H265播放器EasyPlayer.js首次加载出现Uncaught (in promise) DOMException错误信息
  20. SAP 月结 年结步骤

热门文章

  1. Android深入源代码分析理解Aidl总体调用流程(雷惊风)
  2. SUSE11 搭建iscsi target 配置
  3. mysql语法替换字符串
  4. servlet中实现页面跳转return “r:”和return “f:
  5. SAP Study Notes: BW Queriy-Variables(变量)
  6. C++之STL理论基础
  7. Rust 编程 前言
  8. Python 错误和异常小结[转]
  9. cookies的存值问题
  10. 【VMCloud云平台】SCAP(一)规划