我试图将我的数组从高到低排序,但是根据这个网站的建议,我只能从低到高排序,不能按字母顺序排序。
我的代码:
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))
我的程序需要输出从最高分到最低分的名称和值,然后按字母顺序输出字典
答案 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())