函数中有一些循环操作。一般来说,次数没有限制,这是Python中经常提到的迭代。有些朋友不知道使用iter是否有迭代次数的限制,使用迭代器只能迭代iter函数一次。
今天,小编将分享iter函数的描述、语法、参数和返回值,并带来实例介绍,帮助您找出iter迭代次数的要求。
1.说明:
(1)函数功能返回迭代器对象。
(2)当不提供第二个参数时,第一个参数必须是支持可迭代协议(即实现__iter__()方法(字典、集合、不可变集合)或支持序列协议(即实现__getitem__()方法,方法从0开始接收序列(元组、列表、字符串),否则会报错。
>>>a=iter({'A':1,'B':2}#字典集合 >>>a <dict_keyiteratorobjectat0x03FB8A5> >>>next(a) 'A' >>>next(a) 'B' >>>next(a) Traceback(mostrecentcalllast): File"<pyshell#36>",line1,in<module> next(a) StopIteration >>>a=iter('abcd')#字符串序列 >>>a <str_iteratorobjectat0x03FB4> >>>next(a) 'a' >>>next(a) 'b' >>>next(a) 'c' >>>next(a) 'd' >>>next(a) Traceback(mostrecentcalllast): File"<pyshell#29>",line1,in<module> next(a) StopIteration
2.语法
iter(object[,sentinel])
3.参数
object -- 集合对象支持迭代。
sentinel -- 如果传输了第二个参数,则参数 object 在这个时候,必须是一个可调用的对象(如函数),iter 每次调用这个迭代器对象,创建一个迭代器对象__next__()方法会被调用 object。
4.返回值
迭代对象。
5.实例
''' iter语法如下:iter(object[,sentinel]) 使用方法有两种,第一种很简单,如下 ''' list=range(6) It=iter(list) ''' 如果第二个参数传递,那么参数object必须是一个可调用的对象(如函数)。此时,iter创建了一个迭代器对象,每次调用该迭代器对象__next__()方法时,会调用object,直到迭代到元素sentinel。 ''' fromqueueimportQueue q=Queue()#创建队列对象 foriinrange(5): q.put(i)#依次放5个数字 q.put('END')#放入结束标志 deftest(): returnq.get()#取数据 foriteminiter(test,'END'):#在返回之前,继续执行test()函数END’ print(item,end='')
根据本文对python中iter函数的研究,我们可以得出iter使用迭代器的次数是一次,这是很多新手朋友需要注意的。
(推荐操作系统:windows7系统Python 3.9.1,DELL G3电脑。)