Python for循環(huán)可以遍歷任何序列的項目讹挎,如一個列表或者一個字符串。
一腺占、Python 循環(huán)遍歷列表元素
1.for i in list():
2.for i in enumerate(list):
2.for i in range(len(list)):
二淤袜、Python 循環(huán)遍歷字典元素
1.for k,v in dict.items():
2.for k,v in dict.iteritems():
3.for k,v in zip(dict.iterkeys(),dict.itervalues()):
4.for i in dict.keys():
5.for i in dict.values():
6.for i in sorted(dict.keys()):
(一)dict.keys() VS? dict.values()
可以發(fā)現(xiàn),keys()是取出字典的所有鍵出來衰伯。由于字典是hash的铡羡,你只能從key找到value,但不能從value找到確切的key意鲸。
(二)字典順序
字典本身是一個無序的烦周,和賦值的順序無關。打個比方怎顾,字典就是一本本的書隨意扔進了圖書館读慎,你要找到他只能憑書號。
字典元素的順序通常沒有定義槐雾。換句話說夭委,迭代的時候,字典中的鍵和值都能保證被處理募强,但是處理順序不確定株灸。
字典本身無序
如下圖,可以看到和賦值順序無關:
上述方法會將鍵–值對作為元組返回擎值。
字典如何有序
字典有序慌烧,可以理解為,把key進行排序后鸠儿,輸出:
對于上述所有方法的比較沒有找到什么資料汹粤,只知道dict.items()速度上最慢,dict.iteritems()方法品追,因為不是一次生成所有對象玄括,而是用一個生成一個,無論在速度上還是內存占有上都有優(yōu)勢肉瓦。