在python字典中按值排序?

时间:2015-02-25 05:05:56

标签: python sorting dictionary

我有一个分配,其中给出了一系列商品和商品随附的商品金额,然后我必须将其放入字典中并以最高库存量显示到最低库存量。 字典看起来有点像这样:

items = {'socks': 10, 'hammers': 33, 'keyboards': 56}

,输出如下:

keyboards: 56
hammers: 33
socks: 10

设置字典后,我对第二部分有困难......有没有人知道我如何按价值排序?

2 个答案:

答案 0 :(得分:1)

很容易制作(键,值)对的排序列表:

import operator

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

然后你可以循环它以显示它,例如在Python 2中:

for k, v in slop:
    print '{}: {}'.format(k, v),
print

答案 1 :(得分:1)

要排序,您可以使用排序方法:

items = {'socks': 10, 'hammers': 33, 'keyboards': 56}

sorted_items = sorted(items.items(), key=lambda v:  v[1], reverse = True)

作为键指定在项目dict中按值排序。要打印它,您可以使用:

for k,v in sorted_items:
    print("{}:{}".format(k,v))