Python_迭代器和生成器的复习_38
迭代器和生成器
迭代器:
双下方法:很少直接调用的方法,一般情况下,是通过其他方法触发的
可迭代的协议——可迭代协议 含有__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相关推荐
- Python_迭代器与生成器
迭代器 迭代是Python最强大的功能之一,是访问集合元素的一种方式.. 迭代器是一个可以记住遍历的位置的对象. 迭代器对象从集合的第一个元素开始访问,直到所有的元素被访问完结束.迭代器只能往前不会后 ...
- dataloader 源码_pytorch :: Dataloader中的迭代器和生成器应用
在使用pytorch训练模型,经常需要加载大量图片数据,因此pytorch提供了好用的数据加载工具Dataloader. 为了实现小批量循环读取大型数据集,在Dataloader类具体实现中,使用了迭 ...
- 批量生成数组_JavaScript【重温基础】13.迭代器和生成器
本文是 重温基础 系列文章的第十三篇. 今日感受:每次自我年终总结,都会有各种情绪和收获. 本章节复习的是JS中的迭代器和生成器,常常用来处理集合. 前置知识: JavaScrip已经提供多个迭代集合 ...
- 完全理解Python迭代对象、迭代器、生成器
本文源自RQ作者的一篇博文,原文是Iterables vs. Iterators vs. Generators,俺写的这篇文章是按照自己的理解做的参考翻译,算不上是原文的中译版本,推荐阅读原文,谢谢网 ...
- Python学习笔记3 流程控制、迭代器、生成器
第3章 流程控制.迭代器.生成器 3.1 选择语句 1.语法:(1)if -else (2)if-elif-else 2.注意:(1)每个条件后面要使用冒号:(2)使用缩进划分语句块(3)python ...
- pythonfor循环遍历list_为什么for循环可以遍历list:Python中迭代器与生成器
1 引言 只要你学了Python语言,就不会不知道for循环,也肯定用for循环来遍历一个列表(list),那为什么for循环可以遍历list,而不能遍历int类型对象呢?怎么让一个自定义的对象可遍历 ...
- javascript迭代器_JavaScript符号,迭代器,生成器,异步/等待和异步迭代器-全部简单解释...
javascript迭代器 by rajaraodv 通过rajaraodv JavaScript符号,迭代器,生成器,异步/等待和异步迭代器-全部简单解释 (JavaScript Symbols, ...
- 完全理解 Python 迭代对象、迭代器、生成器(转)
完全理解 Python 迭代对象.迭代器.生成器 本文源自RQ作者的一篇博文,原文是Iterables vs. Iterators vs. Generators » nvie.com,俺写的这篇文章是 ...
- 简单介绍python迭代器和生成器
这篇文章主要介绍了Python中的迭代器和生成器,涉及到Python中很多重要的特性,需要的朋友可以参考下,希望能够给你带来帮助 python迭代器和生成器 1.迭代器 这里用字典示例 while T ...
最新文章
- Focal Loss和它背后的男人RetinaNet
- python多线程爬虫实例-python支持多线程的爬虫实例
- 学习笔记——pygame最常用的15个模块
- Restrict Users to Use Old Passwords
- 【机器学习】LR的分布式(并行化)实现
- 日期时间格式转化为方便理解的格式
- [前缀和][dp] Jzoj P5873 小p的属性
- UML基础与应用系列文章汇总
- java中的类方法和实例方法_下面关于Java语言中实例方法和类方法的说法,哪几项是对的?...
- VUE 完整项目构建 (1) -- 初始化
- 计算机二级c语言填空题库,全国计算机二级C语言填空题库.doc
- ubuntu安装java虚拟机
- Quartus波形仿真教程
- fpm平滑重启_详解nginx及FPM平滑重启
- kafka 验证_KAFKA:简单的验证码实施
- 华为笔记本键盘说明图_笔记本电脑的的键盘都表示什么意思
- 基于Java的飞机大战游戏的设计与实现论文
- 服务器电脑上保存的文件找不到了,保存在电脑上的word文件突然找不到怎么办?该如何找回来...
- H265播放器EasyPlayer.js首次加载出现Uncaught (in promise) DOMException错误信息
- SAP 月结 年结步骤