如何按降序对数字列表进行排序

时间:2015-07-28 19:38:32

标签: python

假设我有一个包含多个名称和整数的文件,如下所示:

name1:5
name2:3
name3:10

如何将其添加到字典中,然后按降序打印(例如最高值到最低值)

3 个答案:

答案 0 :(得分:1)

假设list你的意思是dict,这就是你想要的:

 names={'name1':5, 'name2':3, 'name3':10}
 print sorted(names, key=lambda x:names[x], reverse=True)

正如另一张海报所指出的那样,原始海报要求打印出名称&它的价值。要完成此操作,请将代码更改为:

 names={'name1':5, 'name2':3, 'name3':10}
 for name in sorted(names, key=lambda x:names[x], reverse=True):
     print name, names[name]

答案 1 :(得分:0)

您需要为内置sorted

指定适当的键功能
# I assume this is what your input looks like
input = ["name1:5", "name2:3", "name3:10"]
output = sorted(input, key=lambda x: int(x.split(":")[1]), reverse=True)

答案 2 :(得分:-1)

我明白你的意思以及如何做到如下:)

a=[name1:5, name2:3, name3:10]
def Last(s):
   return s[-1]
sorted(a, key=Last)

然后通过这种方式,您可以按照您的选择对其进行排序..按...: