Python中和迭代有关的两个函数next()和iter()

  next():

  next()返回迭代器的下一个项目

  next语法:

next(iterator[,dafault])

  iterator -- 可迭代对象

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

  e.g.:

 1 #!/usr/bin/python
 2 # -*- coding: UTF-8 -*-
 3  
 4 # 首先获得Iterator对象:
 5 it = iter([1, 2, 3, 4, 5])
 6 # 循环:
 7 while True:
 8     try:
 9         # 获得下一个值:
10         x = next(it)
11         print(x)
12     except StopIteration:
13         # 遇到StopIteration就退出循环
14         break

  

  iter():

  iter()函数用来生成迭代器

  iter语法:

iter(object[, sentinel])

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

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

  e.g.:

>>>lst = [1,2,3]
>>>for i in iter(lst):
            print(i)
...
...
1
2
3    

  

原文地址:https://www.cnblogs.com/chester-cs/p/11547030.html