Python中可迭代对象和迭代器对象的理解
来源:互联网 发布:易语言录制视频源码 编辑:程序博客网 时间:2024/06/05 23:02
Iamlaosong文
我们在用for ... in ...语句循环时,in后面跟随的对象要求是可迭代对象,即可以直接作用于for循环的对象统称为可迭代对象(Iterable),如list、tuple、dict、set、str等。
可迭代对象是实现了__iter__()方法的对象,而迭代器(Iterator)则是实现了__iter__()和__next__()方法的对象,可以显示地获取下一个元素。这种可以被next调用并不断返回下一个值的对象称为迭代器。迭代器一定是可迭代对象,反过来则不一定成立。用iter()函数可以把list、dict、str等Iterable变成Iterator,例如:
bb=[x for x in range(10)]
cc=iter(bb)
cc.next()
循环变量的值其实可以看着是一次次用next取值的过程,每取一个值,做一次处理。list等对象用于循环实际上可以看着是用iter()方法产生一个迭代器,然后循环取值。
生成器(generator)就是一个能返回迭代器的函数,其实就是定义一个迭代算法,可以理解为一个特殊的迭代器。调用这个函数就得到一个迭代器,生成器中的yield相当于一个断点,执行到此返回一个值后暂停,从而实现next取值。
阅读全文
0 0
- Python中可迭代对象和迭代器对象的理解
- 【Python】引用和对象的理解
- python 引用和对象理解
- python 引用和对象理解
- python面向对象的理解
- Python基本对象的理解
- Python中对象的理解:引用和赋值
- python函数参数的理解,对象和变量
- 类和对象的理解
- Python 可迭代的对象、迭代器和生成器
- Python 可迭代的对象、迭代器和生成器
- Python局部变量、对象的理解
- 对Python面向对象的理解
- 对python中对象的理解
- Python 3)面向对象的基本概念(理解)
- Python面向对象-类的理解
- python可迭代对象和迭代器对象
- Python中可迭代对象、迭代器和生成器相关
- Linux下libevent安装与示例
- Ubuntu 安装SMB协议的打印机要求输入密码的解决
- hibernate的表的映射
- 16进制字符串转16进制数字
- 寻找coder
- Python中可迭代对象和迭代器对象的理解
- ODAC安装配置与使用详解
- [单纯形+对偶] BZOJ3118: Orz the MST
- C++STL概览
- hibernate的ORM映射
- GPIO、UART、USB、IrDA、I2C、SPI、CAN总线、蓝牙接口、以太网
- servlet监听
- 欢迎使用CSDN-markdown编辑器
- OTT解决方案的直播时移技术