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