当前位置: 首页 > 图灵资讯 > 行业资讯> iter在python中迭代次数有限制吗?

iter在python中迭代次数有限制吗?

来源:图灵python
时间: 2024-10-09 11:04:06

函数中有一些循环操作。一般来说,次数没有限制,这是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电脑。)