【python迭代】迭代
2018-12-02 17:54
127 查看
1 概念
1. 容器 数据结构:多个元素组织在一起,并且提供了访问元素的方法 2. 可迭代对象 // 序列-->可迭代对象 实现了__iter__的对象,可以用在迭代工具中遍历 2. 迭代器 // 1. 访问集合元素的一种方式 2. 可以记住遍历状态 实现了__iter__和__next__的对象;可以显示调用next()返回下一项 3. 迭代协议 对象提供一个next()方法,要么返回下一项,要么StopIteration异常 4. 生成器 // 1. 自动实现了迭代器协议,可以直接调用next() 2. 有状态 3. 延迟计算 生成器是特殊的迭代器 *生成器函数* // 返回迭代器的函数 yield关键字返回值,每次返回一个结果,挂起函数中间状态,以便下次从他离开的地方继续执行 *生成器表达式* () // 生成器表达式比列表解析更加节省内存
2 可迭代对象种类
字符串、列表、元祖、字典、集合、文件等,一般情况下都不是可迭代对象;可以有2种方式变为可迭代对象: 1> iter(上述对象) // 手动调用iter()将对象变为可迭代对象 2> 迭代工具 // 比如for循环 **for循环本质** for循环本质:for循环作为迭代工具,内部会先调用__iter__()方法,然后调用__next__()方法一个个返回元素
3 迭代工具
*提供了一个通用的访问可迭代对象元素的方式* 1 for循环 2 列表解析 3 字典解析 4 内置函数 // map、zip、filter、sum、enumerate、in成员
相关文章推荐
- 详解Python迭代和迭代器
- python中的迭代器和可迭代对象
- 3.python基础学习——迭代
- Python学习笔记 - 迭代Iteration
- 梯度迭代树回归(GBDT)算法原理及Spark MLlib调用实例(Scala/Java/python)
- python: 切片,迭代,列表生成器,生成器,迭代器
- 王亟亟的Python学习之路(七)-date,continue,迭代对象,生成器
- python(3) 切片,迭代
- Python中的可迭代对象与迭代器对象
- Python基础-迭代Iteration
- python-序列解包(对可迭代元素的快速取值)
- python-7-如何使用生成器函数实现可迭代对象?
- Learning Python Part II 之 迭代和推导式
- 浅谈python for循环的巧妙运用(迭代、列表生成式)
- Python 编程思想 —— 可迭代对象(iterables)
- 迭代和递归(Python)--乘方、最大公约数、汉诺塔、斐波那契、回文字符串
- Python yield from 递归迭代
- Python可迭代对象中的添加和删除(add,append,pop,remove,insert)
- python判断可迭代对象
- python 3-4 如何进行反向迭代以及如何实现反向迭代 __reversed__ yield