如何从高到低和按字母顺序对字典进行排序

时间:2015-03-23 17:33:24

标签: python sorting dictionary alphabetical key-value-store

我试图将我的数组从高到低排序,但是根据这个网站的建议,我只能从低到高排序,不能按字母顺序排序。

我的代码:

x={"luiz":2,"adrian":8,"guv":10,"homer":3,"jane":6}

y={"gus":3,"gump":7,"harry":7,"elliot":9}

z={"elizabeth":10,"micheal":2,"david":7}

sorted_x = sorted(x.items() , key operator.itemgetter(1))

sorted_y = sorted(x.items() , key operator.itemgetter(1))

sorted_z = sorted(x.items() , key operator.itemgetter(1))

我的程序需要输出从最高分到最低分的名称和值,然后按字母顺序输出字典

2 个答案:

答案 0 :(得分:1)

要撤消排序,只需添加reverse=True

sorted(x.items(), key=operator.itemgetter(1), reverse=True)

据推测,您希望按字母顺序对进行排序,而不是按照从最低到最高的分数进行排序;在这种情况下只需省略键

sorted(x.items())

因为dict.items()生成的key-vale元组已经按键排序了。

答案 1 :(得分:0)

谢谢,这是我的程序

import operator

x={"luiz":2,"adrian":8,"guv":10,"homer":3,"jane":6}

sorted(x.items(), key=operator.itemgetter(1), reverse=True)

sorted(x.items())
y={"gus":3,"gump":7,"harry":7,"elliot":9}

sorted(y.items(), key=operator.itemgetter(1), reverse=True)

sorted(y.items())

z={"elizabeth":10,"micheal":2,"david":7}

sorted(z.items(), key=operator.itemgetter(1), reverse=True)

sorted(z.items())