/* syntax highlight */ /* end of syntax highlight */

2010年5月18日 星期二

[python] 將 dictionary 排序並由大往下排

Bookmark and Share

image

 

定義以下 function

#排序 dictionary
def sortedDict(d):
    items=d.items()
    backitems=[ [v[1],v[0]] for v in items]
    backitems.sort()
    return [ backitems[i][1] for i in range(0,len(backitems))]

會回傳一個 list 型態,根據值去 sort 並回傳 key 的順序

範例如下:

test={}
test['num1']=10
test['num2']=66
test['num3']=34
test['num4']=21
test['num5']=77
test['num6']=12

t = sortedDict(test)
        for h in t:
            print h  #依照排序後的順位印出來 (由小而大)

 

印出的結果為

num1
num6
num4
num3
num2
num5

 

如果要改由大而小排序

因為回傳的型態是 list ,可以使用 reverse() fn 來改變順序

t.reverse()
        for h in t:
            print h

印出的結果為

num5
num2
num3
num4
num6
num1

0 意見:

張貼留言

Related Posts Plugin for WordPress, Blogger...