2017-06-14 70 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问题处于搁置状态。没有进一步的答案被接受。我编辑了这一个。 –