怎么理解Python的迭代器、生成器和迭代对象
2018-09-04 本文已影响0人
Wendy_Leo
1. 概念理解
迭代是Python语言的强大功能之一,主要用来对集合元素进行访问。
- 可迭代对象(iterable)
- 实现了iter()方法,该方法返回一个迭代器对象
- 只是一种叫法,不是Python的数据类型
- 序列(list/tuple/str)都是可迭代的对象
- 容器(dic/set)也是可迭代对象
- 迭代器(iterabor)
- 任何实现了iter和next方法的对象都是可迭代器
- 迭代器不会一次性加载所有的元素,而是需要的时候生成
- 生成器(generator)
- 特殊的迭代器
- 不用实现iter和next方法
- 使用yield而不是return
- 返回一个迭代器
2. 创建迭代器
- 使用内置函数iter()
- 使用yield
- 使用itertools模块
- 产生不同类型的迭代器
- 函数或类
3. 迭代器的特点
- 惰性取值:比较适合读取大文件和无线集合