python多重規則多條件字典排序

mydict = {'b':10, 'c':10, 'a':10, 'd':20}

字典根據key排序

>>> sorted(mydict.iteritems(), key=lambda x:x[0])
[('a', 10), ('b', 10), ('c', 10), ('d', 20)]

字典根據value排序

>>> sorted(mydict.iteritems(), key=lambda x:x[1])
[('a', 10), ('c', 10), ('b', 10), ('d', 20)]

字典先按key排序,然後按value排序

>>> sorted(mydict.iteritems(), key=lambda x:(x[0],x[1]))
[('a', 10), ('b', 10), ('c', 10), ('d', 20)]

字典先按value排序,然後按key排序

>>> sorted(mydict.iteritems(), key=lambda x:(x[1],x[0]))
[('a', 10), ('b', 10), ('c', 10), ('d', 20)]

字典先按value升序排序,然後按key降序排序

>>> sorted(mydict.iteritems(), key=lambda x:(x[1],-ord(x[0])))
[('c', 10), ('b', 10), ('a', 10), ('d', 20)]

字典先按value降序排序,然後按key升序排序

>>> sorted(mydict.iteritems(), key=lambda x:(x[1],-ord(x[0])), reverse=True)
[('d', 20), ('a', 10), ('b', 10), ('c', 10)]

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章