Python基础——迭代和解析
2017-01-09 20:21
239 查看
for循环可以迭代序列对象,从左到右遍历序列对象的元素。这里for循环属于迭代工具,而序列属于可迭代对象,两者通过迭代协议联系。
python提供了内置函数next,以迭代器做输入,每次返回序列的下一元素,直到序列末尾,引发异常:
而迭代器自身包含next()方法,效果和内置函数next()是一样的。这就是所谓的迭代协议:有next()方法的对象读取下一个元素,直到末尾触发StopIteration异常。所有的迭代工具内部都是在每次迭代时调用next()方法。
注意,文件对象本身就是其迭代器,有next()方法。而列表、元组、字典虽然是可迭代对象,但本身并不是迭代器,需要显式地转换成迭代器:
python提供了内置函数next,以迭代器做输入,每次返回序列的下一元素,直到序列末尾,引发异常:
>>>i = iter([1, 2, 3, 4]) >>>next(i) 1 >>>next(i) 2 >>>next(i) 3 >>>next(i) 4 >>>next(i) Traceback (most recent call last): File "<stdin>", line 1, in <module> StopIteration
而迭代器自身包含next()方法,效果和内置函数next()是一样的。这就是所谓的迭代协议:有next()方法的对象读取下一个元素,直到末尾触发StopIteration异常。所有的迭代工具内部都是在每次迭代时调用next()方法。
注意,文件对象本身就是其迭代器,有next()方法。而列表、元组、字典虽然是可迭代对象,但本身并不是迭代器,需要显式地转换成迭代器:
i = iter(L),然后才能调用next()方法。
相关文章推荐
- [Python入门及进阶笔记]Python-基础-列表及列表解析小结
- CDays-3 习题三 (八皇后问题)及相关内容解析。Python 基础教程
- python 基础教程之迭代
- Python基础:08列表解析与生成器表达式
- python 可迭代对象之(列表解析,迭代器迭代) =>持续更新
- Python面向对象编程基础解析(一)
- 零基础学python-8.2 列表的基本操作、迭代和解析
- Python3基础之条件与循环控制实例解析
- 零基础学python-8.2 列表的基本操作、迭代和解析
- CDays-2 习题一 (改进函数)及相关内容解析。Python 基础教程
- Python基础 - 迭代
- Python学习入门基础教程(learning Python)--2.2.1 Python下的变量解析 .
- Python3基础之条件与循环控制实例解析
- python中迭代和解析
- CDays-3 习题二 (字典及文件读取练习)及相关内容解析。Python 基础教程
- Python学习入门基础教程(learning Python)--2.2.1 Python下的变量解析
- [Python入门及进阶笔记]Python-基础-列表及列表解析小结
- Python学习 - 使用BeautifulSoup来解析网页一:基础入门
- 零基础学python-8.2 列表的基本操作、迭代和解析