2019.7.22 迭代
迭代:用for循环来遍历一个List或者Tuple的所有元素
List和Tuple是通过下标来迭代,但是只要是可迭代对象,无论有无下标,均可迭代,比如dict的迭代
dict的迭代
D={'a':1,'b':2,'c':3}
for K in D:
print K
#结果
a
b
c
默认情况下,迭代对象是key;
如果要迭代value,可以用:
for value in D.itervalues()
如果要同时迭代key和value,可以用:
for k,v in D.iteritems()
字符串也是可迭代对象
S='abcde' for ch in S: print(ch) a b c d e
如何判断一个对象是否为可迭代对象呢
可以用collections模块的Iterable类型(I要大写)来判断,同样需要用到类型判断函数isinstance
from collections import Iterable isinstance([1,2,3,4],Iterable) #List True isinstance({'a':1,'b':2},Iterable) #字典 True isinstance(123,Iterable) #整数是否为可迭代对象 False
如果要把List变为索引-元素对形式,可以用python内置的enumerate函数
L=[1,2,3,4] for i,v in enumerate(L): print (i,v) 0 1 1 2 2 3 3 4
for循环中同时引用两个变量是很常见的,举例:
for a,b in[(9,1),(8,2),(7,3)]: print(a,b) 9 1 8 2 7 3
任何可迭代对象都可以使用for循环,包括我们自己定义的数据类型,只要符合迭代条件(用collections模块的Iterable类型和isinstance函数),都可以用for循环

浙公网安备 33010602011771号