python中的迭代是什么?*如果给定一个列表或元组,我们可以通过一个for循环来遍历这个列表或元组,我们称之为迭代(Iteration)。在Python中,迭代是通过for...in完成的,而在很多语言如C或Java中,迭代list是通过下标完成的,如Java代码:for(i=0;i>>d={'a':1,'b':2,'c':3}>>>forkeyind:...printkey...acb因为dict的存储不是按照list的顺序排列的,所以,迭代结果的顺序可能不同。默认情况下,dict遍历键。如果要迭代value,可以使用forvalueind.itervalues(),如果要同时迭代key和value,可以使用fork,vind.iteritems()。由于字符串也是可迭代对象,因此也可以应用于for循环:>>>forchin'ABC':...printch...ABC所以,当我们使用for循环时,我们只需要作用于一个迭代对象,for循环工作正常,我们并不真正关心对象是列表还是其他数据类型。那么,如何判断一个对象是可迭代对象呢?方法是通过collections模块的Iterable类型判断:>>>fromcollectionsimportIterable>>>isinstance('abc',Iterable)#str是否可迭代True>>>isinstance([1,2,3],Iterable)#list是否可迭代True>>>isinstance(123,Iterable)#整数是否可迭代False最后一个小问题,如果要为list实现类似java的下标循环怎么办?Python内置的enumerate函数可以把一个列表变成索引-元素对,这样索引和元素本身就可以在for循环中同时迭代:>>>fori,valueinenumerate(['A','B','C']):...printi,value...0在上面A1B2C的for循环中,同时引用了两个变量,这在Python中很常见,比如以下代码:>>>forx,yin[(1,1),(2,4),(3,9)]:...printx,y...112439SummaryAnyiterableobject可以在for循环中使用,包括我们自定义的数据类型只要满足迭代条件就可以使用for循环。(文章来自网络)