迭代协议
能迭代的对象其中有包含一个__next__()方法能够获取下一个元素
注意:如果面试中被问python中哪些对象是支持遍历的,答案为支持迭代协议的对象。
迭代工具
for、推导、map
迭代器对象
已经实现,调用next()方法是可以的
可迭代对象
没有直接实现,调用next()方法会报错,必须先调用iter()生成迭代器
内置可迭代对象
-
range()
range()只是可迭代对象,但不是迭代器,不能直接调用next()方法 -
zip()
zip([‘x’,‘y’,‘z’],[1,2,3])
->>(‘x’,1)
(‘y’,2)
(‘z’,3)
zip是迭代器 -
map()
map(func,item)