python3--迭代器
# Auther: Aaron Fan # 可以直接作用于for循环的对象统称为可迭代对象:Iterable# 可以使用isinstance()判断一个对象是否是Iterable对象:"""from collections import Iterableisinstance([],Iterable)True isinstance({},Iterable)True isinstance('abc',Iterable)True isinstance(( x for x in range(10) ),Iterable)True isinstance(100,Iterable)False""" """# 而生成器不但可以被用作于for循环,还可以被next()函数不断调用并返回下一个值,# 直到最后跑出StopIteration错误表示无法继续返回下一个值了。 # *可以被next()函数调用并不断返回下一个值的对象成为迭代器:Iterator# 可以使用isinstance()判断一个对象是否是Iterator对象:from collections import Iteratorisinstance([],Iterator)False isinstance({},Iterator)False isinstance('abc',Iterator)False isinstance(( x for x in range(10) ),Iterator)True isinstance(100,Iterator)False 生成器都是Iterator对象,但是list、dict、str虽然是Iterable,却不是Iterator把list、dict、str等Iterable变成Iterator可以使用iter()函数: from collections import Iteratora = [1,2,3]print(isinstance(a,Iterator))a = iter(a)print(isinstance(a,Iterator))print(a)for i in a: print(i)""" # python的for循环本质上就是通过不断调用next()函数实现的,例如:for x in [1,2,3,4,5]: print(x) print("----------------------")# 实际上完全等价于:#首先获得Iterator对象:it = iter([1,2,3,4,5])#循环while True: try: #获得下一个值: x = it.__next__() print(x) except StopIteration: #遇到StopIteration就退出循环 break
转载于:https://www.cnblogs.com/AaronFan/p/6161159.html
python3--迭代器相关推荐
- Python3 迭代器与生成器
迭代器 迭代是Python最强大的功能之一,是访问集合元素的一种方式. 迭代器是一个可以记住遍历的位置的对象. 迭代器对象从集合的第一个元素开始访问,直到所有的元素被访问完结束.迭代器只能往前不会后退 ...
- Python3迭代器和生成器
迭代器 迭代是Python最强大的功能之一,是访问元素集合的一种方法. 迭代器是一个可以记住遍历的位置的对象. 迭代器对象从集合的第一个元素开始访问,直到所有的元素被访问完结束,迭代器只能向前不会后退 ...
- python3迭代器和可迭代对象,Python3学习(8)--迭代,可迭代的和迭代器
开始本篇之前,我们先来了解几个单词 迭代:iteration 可迭代的:Iterable 迭代器:iterator 从单词我们可以看出来差异,可迭代的一看就是状态词,我们不做多说,下面会再讲,而我们发 ...
- python3 迭代器实现斐波那契数列
# 先写个迭代器文件 iterator.pyclass Fib:def __init__(self):self.n1 = 0self.n2 = 1def __next__(self):self.n1, ...
- python3菜鸟-Python3 迭代器与生成器
如教程所说,迭代器和生成器算是 Python 一大特色,其核心是基于迭代器协议来的. 而平时我们经常使用的 for in 循环体,本质就是迭代器协议的一大应用. 同时 Python 内置的集合类型(字 ...
- python3迭代器和可迭代对象_一文读懂 Python3 可迭代对象、迭代器、生成器区别...
笔者学习Python已有一段时间,一直以为对于可迭代对象(iterable).迭代器(iterator).生成器(generator)有一定理解了,直到看到<流畅的python>中的讲解才 ...
- python3迭代器是什么,python3 迭代器
1. 想要了解 迭代器 ,需要先 知道什么是 可迭代对象. 简单点说,可以直接作用于for循环的对象,称之为可迭代对象(Iterable). 1.png 可迭代对象,一定实现了__iter__方法.i ...
- 云计算开发学习笔记:Python3迭代器与生成器
迭代器 迭代是Python最强大的功能之一,是访问集合元素的一种方式. 迭代器是一个可以记住遍历的位置的对象. 迭代器对象从集合的第一个元素开始访问,直到所有的元素被访问完结束.迭代器只能往前不会后退 ...
- python3 迭代器(自定义迭代器)
1.迭代器1.什么是迭代器?1.迭代器是用于迭代数据的-记录每次访问的数据,以及返回下一个数据-迭代器通过__next__方法取得下一个指向的值2.迭代器也称迭代对象,迭代对象指可以通过for .. ...
- python3 迭代器、生成器、装饰器、数据序列化
本节内容 迭代器&生成器 装饰器 Json & pickle 数据序列化 软件目录结构规范 作业:ATM项目开发 1.列表生成式迭代器&生成器 列表生成式 孩子我现在有个需求看 ...
最新文章
- Java基础笔记(入门,语法基础,流程控制,数组)
- 求求你把输入法调小一点... | 今日最佳
- 实践分享丨构建云上私有池(虚拟IDC)的5种方案详解
- 使用gdb调试运行时的程序小技巧 -转
- linux 日志优化,Linux —— 日志管理和优化方式
- PowerDesigner一些小技巧
- B站后台源码疑似泄露,作为程序员我们得注意哪些?
- 【python技能树】python编码规范
- PuTTY/PuttyGen介绍
- EEG时频分析介绍与实现
- 【出国面试】出国 交换 / 访学 / 留学 国外导师面试经验分享
- Java中的Collections.sort()
- silverlight ajax调用,基于RIA的AJAX和Silverlight研究与应用
- android 系统输入法显示与隐藏监听
- 汇编实验:屏幕窗口程序
- puts()和gets()
- [程序设计]前端Web页面使用原生JavaScript实现校验身份证号码在算法层面是否合法
- Nanopore牛津纳米孔测16S学习笔记
- 优秀工程师应该具备哪些素质_想成为一名合格的技术工程师需要具备哪些能力?...
- 初学用python写爬虫, 这里分享给大家一段爬取百度贴吧的代码(用面向对象的思想写的),请各位大佬们指点迷津
热门文章
- linux安全基线检查,CentOS Linux 7安全基线检查
- keras embedding层_初识TextCNN及keras实现
- 清空div中的内容而不刷新整个页面_Vue中的$nextTick机制
- Linux学习笔记---使用MfgTool工具烧写官方系统(一)
- C语言学习笔记----sizeof()的使用
- HDU-一个人的旅行(最短路)
- 【FPN车辆目标检测】数据集获取以及Windows7+TensorFlow+Faster-RCNN+FPN代码环境配置和运行过程实测
- 【数据结构算法】二:上三角、下三角中求数组地址--【下标的计算】
- 驱动中的资源共享和临界代码保护
- Tensorflow 卷积神经网络 (二)