添加链接
link管理
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接

参数说明:

  • iterable – 可迭代对象
  • default – 可选,用于设置在没有下一个元素时返回该默认值,如果不设置,又没有下一个元素则会触发 StopIteration 异常。

list、tuple等都是可迭代对象,我们可以通过 iter()函数 获取这些可迭代对象的迭代器。然后,我们可以对获取到的迭代器 不断使⽤ next()函数 来获取下⼀条数据

iter()函数实际上就是调⽤了可迭代对象的 iter ⽅法。

代码范例01:

# 首先获得Iteration对象
it = iter([1,2,3,4,5])
while True:
    try:
        # 获得下一个值
        x = next(it)
        print(x)
    except StopIteration:
        # 遇到StopIteration就退出循环
        break

代码范例02:

li = [11, 22, 33, 44, 55]
li_iter = iter(li)
next(li_iter) 
next(li_iter) 
next(li_iter) 
next(li_iter) 
next(li_iter) 
next(li_iter) 
---------------------------------------------------------------------------
StopIteration                             Traceback (most recent call last)
<ipython-input-15-9584f6653730> in <module>
----> 1 next(li_iter)
StopIteration: 
 

注意,当我们已经迭代完最后⼀个数据之后,再次调⽤next()函数会抛出 StopIteration的异常 ,来告诉我们所有数据都已迭代完成,不⽤再执⾏ next()函数了。

参考链接:
Python next() 函数

通常,for 循环会在背后隐式地使用 iter() 函数来获取迭代器,并通过 next() 函数逐个访问元素,直到抛出 StopIteration 异常表示迭代结束。在 Python iter() 是一个内置函数,用于获取一个可迭代对象的迭代器。迭代器是一种对象,它可以逐个访问可迭代对象的元素,而不需要提前知道可迭代对象的全部内容。迭代器是一种可以逐个访问元素的对象。在上述例子iter(my_list) 返回了列表 my_list 的迭代器,并通过 next() 函数逐个访问了列表的元素。 经常在自己建立好数据集后需要验证一下,自己的图片和标签能不能对上,经常用到next(iter(dataloader))命令。可知其返的是一个batch的图片和标签数据,数据类型均为tensor,图片维度为(c,h,w)。分别打印出返回值的大小、类别。   iterator -- 可迭代对象   default -- 可选,用于设置在没有下一个元素时返回该默认值,如果不设置,又没有下一个元素则会触发 StopIteration 异常。   e.g.: 1 #!/usr/bin/py...