获取对象的迭代器
440字,阅读需时2分钟
来自专栏
课程/专栏

函数声明:

iter(object[, sentinel])

返回object对象的迭代器,若没有传入可选参数sentinel的实参,object 必须是支持迭代协议(有 __iter__() 方法)的容器对象,否则会触发 TypeError异常。

如果有第二个实参 sentinel,那么 object 必须是可调用的对象(例如函数)。此时,iter 创建了一个迭代器对象,每次调用这个迭代器对象的__next__()方法时,都会调用 object。

例1:迭代器的使用

>>> s = "abcdef"
# 返回对象s的迭代器
>>> d = iter(s)
>>> type(d)
<class 'str_iterator'>
# 从迭代器d获取下一个元素
>>> next(d)
'a'
>>> next(d)
'b'
>>>
我要评论
全部评论