您的位置:首页 > 编程语言 > Python开发

Python基础——迭代和解析

2017-01-09 20:21 239 查看
for循环可以迭代序列对象,从左到右遍历序列对象的元素。这里for循环属于迭代工具,而序列属于可迭代对象,两者通过迭代协议联系。

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()方法。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: