Python——迭代

python语言的for循环抽象程度很高,只要是可迭代的对象就可以使用for循环。

判断一个对象是可迭代对象,使用collections模块的Iterable类型来判断。

>>>from collections import Iterable

>>>isinstance('abc', Iterable)# str是否可迭代

True

>>>isinstance([1,2,3], Iterable)# list是否可迭代

True

>>>isinstance(123, Iterable)# 整数是否可迭代

False

对一个字典进行遍历,一般情况下默认都是遍历dict的key值,遍历的结果顺序很可能不一样,因为在dict中是没有顺序的。

>>>d = {'a':1,'b':2,'c':3}

>>>for key in d:

...print key

...

a

c

b

如果要迭代value,可以用for value in d.itervalues(),如果要同时迭代key和value,可以用for k, v in d.iteritems()。

如果要对list实现类似Java那样的下标循环怎么办?Python内置的enumerate函数可以把一个list变成索引-元素对,这样就可以在for循环中同时迭代索引和元素本身:

>>>for i, value in enumerate(['A','B','C']):

...print i, value

...

0 A

1 B

2 C

你可能感兴趣的:(Python——迭代)