我寫它試圖使用值而不是鍵排序字典的代碼更新方法字典的Python
""" This module sorts a dictionary based on the values of the keys"""
adict={1:1,2:2,5:1,10:2,44:3,67:2} #adict is an input dictionary
items=adict.items()## converts the dictionary into a list of tuples
##print items
list_value_key=[ [d[1],d[0]] for d in items] """Interchanges the position of the
key and the values"""
list_value_key.sort()
print list_value_key
key_list=[ list_value_key[i][1] for i in range(0,len(list_value_key))]
print key_list ## list of keys sorted on the basis of values
sorted_adict={}
*for key in key_list:
sorted_adict.update({key:adict[key]})
print key,adict[key]
print sorted_adict*
所以,當我打印KEY_LIST我得到預期的答案,但對於最後一部分我嘗試更新字典的代碼,順序不是它應該是。以下是獲得的結果。我不知道爲什麼「更新」方法不起作用。任何幫助或指針表示讚賞
結果:
sorted_adict={1: 1, 2: 2, 67: 2, 5: 1, 10: 2, 44: 3}
嗨 - 請編輯您的問題,選擇它的代碼部分,點擊'1010101'按鈕,將代碼格式化爲代碼。 – bgporter 2010-12-09 12:46:58