知行编程网知行编程网  2023-01-01 07:00 知行编程网 隐藏边栏  6 
文章评分 0 次,平均分 0.0
导语: 本文主要介绍了关于iter在python中迭代次数有限制吗?的相关知识,包括python iter函数,以及python args这些编程知识,希望对大家有参考作用。


函数中有一些循环操作,一般来说,次数是无限的,这就是Python中经常提到的迭代。一些使用iter的朋友不知道有没有迭代次数的限制。


iter函数使用迭代器只能迭代一次。

今天小编就给大家分享一下iter函数的描述、语法、参数、返回值,并通过实例来帮助大家了解一下iter迭代次数的要求。


1.说明:

(1)函数功能返回一个迭代器对象。

(2) 当不提供第二个参数时,第一个参数必须是支持可迭代协议(即实现了__iter__()方法)的集合(字典、集合、不可变集合),或者支持序列协议(即即,实现了__getitem__()方法,该方法接收一个从0开始的整型参数序列(元组、列表、字符串),否则会报错。

>>> a = iter({'A':1,'B':2}) #字典集合
>>> a
<dict_keyiterator object at 0x03FB8A50>
>>> next(a)
'A'
>>> next(a)
'B'
>>> next(a)
Traceback (most recent call last):
  File "<pyshell#36>", line 1, in <module>
    next(a)
StopIteration
 
>>> a = iter('abcd') #字符串序列
>>> a
<str_iterator object at 0x03FB4FB0>
>>> next(a)
'a'
>>> next(a)
'b'
>>> next(a)
'c'
>>> next(a)
'd'
>>> next(a)
Traceback (most recent call last):
  File "<pyshell#29>", line 1, in <module>
    next(a)
StopIteration


2.语法

iter(object[, sentinel])


3.参数

  • object -- 支持迭代的集合对象。

  • sentinel -- 如果传入第二个参数,则参数对象必须是一个可调用对象(比如函数),此时iter创建一个迭代器对象,每次调用这个迭代器对象的__next__()方法,对象将被调用。


4.返回值

迭代器对象。


5.实例

'''
iter语法为: iter(object[, sentinel])
有两种方式使用,第一种很简单,如下
'''
list = range(6)
It = iter(list)
 
'''
第二种,如果传递了第二个参数,则参数 object 必须是一个可调用的对象(如,函数),此时,iter 创建了一个迭代器对象,每次调用这个迭代器对象的__next__()方法时,都会调用 object,直至迭代到元素sentinel。
'''
from queue import Queue
 
q = Queue()# 创建队列对象
for i in range(5):
  q.put(i)# 依次放入5个数字
q.put('END')# 放入结束标志
 
def test():
  return q.get()# 取数据
 
for item in iter(test, 'END'):# 持续执行test()函数,直到返回’END’
  print(item, end=' ')

根据本文对python中iter函数的研究,我们可以得出结论,iter使用了一次迭代器,这是很多新手朋友应该注意的。


(推荐操作系统:windows7系统、Python 3.9.1,DELL G3电脑。)

本文为原创文章,版权归所有,欢迎分享本文,转载请保留出处!

知行编程网
知行编程网 关注:1    粉丝:1
这个人很懒,什么都没写
扫一扫二维码分享