1.字典的鍵值是沒有順序的,所以無法像列表和元組一樣通過索引來訪問元素。
現在有個方法可以讓字典記錄條目添加的順序:用到OrderedDict
from collections import OrderedDict
OrderedDict是個dict的子類,所以可以像dict一樣引用它,同時它又增加了對添加順序的記錄。
d=OrderedDict()相當於d={}創建了一個有記錄功能的指針2.對字典的鍵值排序 對鍵:

好像只能出來一個鍵的列表
對值:c={"wangshen":100,"linzhitao":98,"qiaoubsi":88}
sd=sorted(c.items(),key=lambda x:x[1])
od=OrderedDict(sd)
print od
按“值”排序就是根據字典的值進行排序,可以使用內置的sorted()函數。
sorted(iterable[, cmp[, key[, reverse]]])
-
iterable:是可迭代類型類型;
-
cmp:用於比較的函數,比較什么由key決定,有默認值,迭代集合中的一項;
-
key:用列表元素的某個屬性和函數進行作為關鍵字,有默認值,迭代集合中的一項;
-
reverse:排序規則. reverse = True 或者 reverse = False,有默認值,默認為升序排列(False)。
返回值:是一個經過排序的可迭代類型,與iterable一樣。一般來說,cmp和key可以使用lambda表達式。
如果對字典進行排序,常用的形式如下:
sorted(dict.items(), key=lambda e:e[1], reverse=True)
其中,e表示dict.items()中的一個元素,e[0]表示按鍵排序,e[1]則表示按值排序。reverse=False可以省略,默認為升序排列。
說明:字典的items()函數返回的是一個列表,列表的每個元素是一個鍵和值組成的元組。因此,sorted(dict.items(), key=lambda e:e[1], reverse=True)返回的值同樣是由元組組成的列表。(所以要用OrderedDict()來把它重新變回字典,注意不能用dict()變,因為這樣變出來的沒有順序)