可以迭代的对象:
- 有序集合:list,tuple,str,unicode
- 无序集合:set(通常用s=set([1,1,2,3,2,3])—>[1,2,3]变成不重复的列表)
无序集合并且有key-value:dict
只要是可迭代对象都可以用for……in…….进行迭代
索引迭代:enumerate()
>>>L=['a1','lisa']
>>>for index,name in enumerate(L)
...print index,'-',name
...
0 - a1
1 - lisa
实际上是把[‘a1’,’lisa’]变成了[(0,’a1’),(1,’lisa’)]
迭代dict中的value:values()和itervalues()
>>>d=['Adma':95,'lisa':80]
...print d.values()
#[95,80]
...for v in d.values():
...print v
#95
#80
itervalues和values使用方法一样,区别在于values是把dict转化成包含value的list,而itervalues是依次从dict中取出value,所以它比较节省内存。
迭代dict中的key和value:items()和iteritems()
>>>d=['Adma':95,'lisa':80]
...print d.items()
#[('Adma':95),('lisa':80)]
...for v in d.iteritems():
...print v
Adma:95
lisa:80
同理,iteritems不占用额外内存