Python 3 迭代器
迭代是 Python 最强大的功能之一,是遍历序列的元素的一种方式
迭代器是一个可以记住遍历的位置的对象
迭代器对象从集合的第一个元素开始访问,直到所有的元素被访问完结束
迭代器只能往前不会后退
iter() 函数用于创建一个迭代器
next() 函数用于返回迭代中下一个元素
字符串,列表或元组对象都可用于创建迭代器
>>> l=[1,2,3,4] >>> it = iter(l) # 创建迭代器对象 >>> print (next(it)) # 输出迭代器的下一个元素 1 >>> print (next(it)) 2 >>>
迭代器对象可以使用 for 语句进行遍历
list = [1,2,3,4] it = iter(list) # 创建迭代器对象 for x in it: print (x, end=" ")
运行以上 Python 代码,输出结果如下
1 2 3 4
可以使用 next() 函数返回迭代器中下一个元素
import sys # 引入 sys 模块 list=[1,2,3,4] it = iter(list) # 创建迭代器对象 while True: try: print ( next ( it ) ) except StopIteration: sys.exit()
运行以上 Python 代码,输出结果如下
1 2 3 4
因为 next() 第二个参数 default 用于设置在没有下一个元素时返回,所以上面的代码还可以改写为
list=[1,2,3,4] it = iter(list) # 创建迭代器对象 while True: e = next( it, None) if e: print( e ) else: break
运行以上 Python 代码,输出结果如下
1 2 3 4