最新公告
  • 欢迎您光临起源地模板网,本站秉承服务宗旨 履行“站长”责任,销售只是起点 服务永无止境!立即加入钻石VIP
  • iter在python中迭代次数有限制吗?

    正文概述 小妮浅浅   2020-12-19   340

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

    在函数中有一些循环的操作,一般来说次数是没有限制的,这就是在Python中经常提到的迭代。有些小伙伴们使用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 -- 如果传递了第二个参数,则参数 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使用迭代器次数为一次,这点是需要很多新手小伙伴要注意的点。



    起源地下载网 » iter在python中迭代次数有限制吗?

    常见问题FAQ

    免费下载或者VIP会员专享资源能否直接商用?
    本站所有资源版权均属于原作者所有,这里所提供资源均只能用于参考学习用,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用者承担。更多说明请参考 VIP介绍。
    提示下载完但解压或打开不了?
    最常见的情况是下载不完整: 可对比下载完压缩包的与网盘上的容量,若小于网盘提示的容量则是这个原因。这是浏览器下载的bug,建议用百度网盘软件或迅雷下载。若排除这种情况,可在对应资源底部留言,或 联络我们.。
    找不到素材资源介绍文章里的示例图片?
    对于PPT,KEY,Mockups,APP,网页模版等类型的素材,文章内用于介绍的图片通常并不包含在对应可供下载素材包内。这些相关商业图片需另外购买,且本站不负责(也没有办法)找到出处。 同样地一些字体文件也是这种情况,但部分素材会在素材包内有一份字体下载链接清单。
    模板不会安装或需要功能定制以及二次开发?
    请QQ联系我们

    发表评论

    还没有评论,快来抢沙发吧!

    如需帝国cms功能定制以及二次开发请联系我们

    联系作者

    请选择支付方式

    ×
    迅虎支付宝
    迅虎微信
    支付宝当面付
    余额支付
    ×
    微信扫码支付 0 元