2017-06-14 65 views
1

我有一個Python中的字典,我想按降序排列。我試圖使用orderedDict和reserver = True,但它不起作用。我的代碼:Python字典中的下降順序

print user_dictionary 
od = OrderedDict(sorted(user_dictionary.items(), key=lambda t: t[0]), reverse = True) 
print od 

然而,這一串代碼返回的結果如下:

OrderedDict([(u'1496657429.46', 9.600000000000001), (u'1496657614.45', 10.0), (u'1496657799.16', 9.600000000000001), (u'1496657799.37', 9.600000000000001), ('reserve', True)]) 
{u'1496657429.46': 9.600000000000001, u'1496657799.37': 9.600000000000001, u'1496657614.45': 10.0, u'1496657799.16': 9.600000000000001} 

看來,秩序仍然是相同的。我該如何改變它?

+4

這是'reverse',不'reserve' ... –

+2

哦kwargs –

+1

的陷阱,並記住,你是排序'str'ings,不' float's。 –

回答

3

除了你在評論中提到的reverse的錯字,reverse是一個關鍵字sorted而不是OrderedDict所以你括號遊戲也很弱。 下面你會發現一個工作的解決方案:

od = OrderedDict(sorted(user_dictionary.items(), key=lambda t: t[0], reverse = True)) 
+3

'od = OrderedDict(sorted(user_dictionary.items(),key = lambda t:t [0],reverse = True))'至少格式化一下 –

+0

@ Ev.Kounis您的儲物空間工作。發佈它作爲接受它的答案。 –

+1

@JoseRamon問題處於擱置狀態。沒有進一步的答案被接受。我編輯了這一個。 –