Python中的迭代是通过for...in...循环来完成的,相比其他语言要抽象得多。
l=['a','b','c']
for x in l:
print x
迭代取出的是元素本身,使用enumerate()函数可以实现取出索引。
实际上enumerate()函数['a','b','c']变成了[(0,'a'),(1,'b'),(2,'c')]这样的一个个tuple元素。
l=['a','b','c']
for x,y in enumerate(l):
print x,y
此外,zip()函数也可以实现两个list的合并。
l=['a','b','c']
L=[10,20,30]
print zip(l,L)
dict的迭代:
可以用values()得到dict中value的list
itervalues()也可以实现相同功能,不同的是itervalues()不会转换,无法直接print,但是它更省内存。
d = { 'Adam': 95, 'Lisa': 85, 'Bart': 59 }
print d.values()
for x in d.values():
print x
for x in d.itervalues() :
print x
items()把dict转换成包含tuple的list,可用来同时获取key和value,iteritems()同理。
d = { 'Adam': 95, 'Lisa': 85, 'Bart': 59 }
for x,y in d.items():
print x,':',y