创新互联Python教程:iter在python中迭代次数有限制吗?

在函数中有一些循环的操作,一般来说次数是没有限制的,这就是在Python中经常提到的迭代。有些小伙伴们使用iter不知道有没有迭代次数的限制,iter函数使用迭代器只能迭代一次。

创新互联专注于东港企业网站建设,响应式网站建设,成都做商城网站。东港网站建设公司,为东港等地区提供建站服务。全流程按需网站策划,专业设计,全程项目跟踪,创新互联专业和态度为您提供的服务

今天小编从iter函数的说明、语法、参数、返回值等进行分享,并带来实例的介绍,帮助大家找出iter迭代次数的要求。

1.说明:

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

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

>>> a = iter({'A':1,'B':2}) #字典集合
>>> a

>>> next(a)
'A'
>>> next(a)
'B'
>>> next(a)
Traceback (most recent call last):
  File "", line 1, in 
    next(a)
StopIteration
 
>>> a = iter('abcd') #字符串序列
>>> a

>>> next(a)
'a'
>>> next(a)
'b'
>>> next(a)
'c'
>>> next(a)
'd'
>>> next(a)
Traceback (most recent call last):
  File "", line 1, in 
    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。
'''
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电脑。)

当前标题:创新互联Python教程:iter在python中迭代次数有限制吗?
分享地址:http://www.mswzjz.com/qtweb/news46/190146.html

网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联