迭代协议
对象必须提供一个__next__()方法,执行该方法要么返回迭代中的下一项,要么就触发一个 StopIteration 异常,以终止迭代(只能往后走不能往前退)
迭代对象
已经实现迭代器协议的对象(对象内部定义了一个__iter__()方法),如:with open(‘result.txt’,’r’,encoding=’utf8’) as file,file.__next__()
可迭代对象
可通过iter(obj)生成迭代对象,如:列表、元组、字典、字符串…; iter_list=iter(list) iter_list.__next__或next(iter_list)
迭代工具
for 列表推导 map…,for i in range(1,5);[x**2 for x in range(1,5)],map(function_name,iterable_object)
内置可迭代对象
range()、map()、zip(),result=zip([‘x’,’y’,’z’],[1,2,3])已实现__next__()方法
浙公网安备 33010602011771号