1、迭代:
迭代是通过重复执行的代码处理相似的数据集的过程,并且本次迭代的处理数据要依赖上一次的结果继续往下做,上一次产生的结果为下一次产生结果的初始状态,如果中途有任何停顿,都不能算是迭代。例如:
(1)非迭代例子
loop = 0 while loop < 3: print("Hello world!") loop += 1
(2)迭代例子
loop = 0 while loop < 3: print(loop) loop += 1
例1仅是循环3次输出" Hello world!",输出的数据不依赖上一次的数据,因此不是迭代。
2、可迭代对象(Iterable):
可迭代对象并不是指某种具体的数据类型,它是指存储了元素的一个容器对象,且容器中的元素可以通过__iter__( )方法或__getitem__( )方法访问。
(1)__iter__方法的作用是让对象可以用for … in循环遍历,__getitem__( )方法是让对象可以通过“实例名[index]”的方式访问实例中的元素。这两个方法的目的是Python实现一个通用的外部可以访问可迭代对象内部数据的接口。
(2)一个可迭代对象是不能独立进行迭代的,Python中,迭代是通过for … in来完成的。凡是可迭代对象都可以直接用for… in…循环访问,这个语句其实做了两件事:第一件事是调用__iter__()获得一个可迭代器,第二件事是循环调用__next__()。
3、常见的可迭代对象包括:
a.集合数据类型,如list、tuple、dict、set、str等;
b.生成器(generator),包括生成器和带yield的生成器函数(generator function)。
4、如何判断一个对象是可迭代对象呢?
可以通过collections模块的Iterable类型判断,具体判断方法如下:
from collections import Iterable isinstance('', Iterable) #返回True,表明字符串也是可迭代对象
神龙|纯净稳定代理IP免费测试>>>>>>>>天启|企业级代理IP免费测试>>>>>>>>IPIPGO|全球住宅代理IP免费测试