在python字典中按值排序?

2024-09-29 06:24:19 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个任务,在这个任务中,一系列的物品和商店所携带的物品的数量是给定的,然后我必须把这些物品放入字典中,用最高库存量到最低库存量显示出来。 字典看起来有点像这样:

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

输出结果如下:

keyboards: 56
hammers: 33
socks: 10

把字典编好后,我对第二部分有困难。。。有人知道我怎么按价值排序吗?你知道吗


Tags: 数量字典排序items物品商店价值socks
2条回答

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

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))

很容易建立(键、值)对的排序列表:

import operator

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

然后可以循环显示它,例如在Python2中:

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

相关问题 更多 >