迭代 iteration

来源:互联网 发布:vb soapclient30 编辑:程序博客网 时间:2024/05/16 10:17

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 xfor 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




0 0