按值python排序字​​典

假设我有一个字典。

data = {1:'b', 2:'a'}

我想按'b'和'a'排序数据,以便得到结果

'a','b'

我怎么做?
有任何想法吗?


获取值使用

sorted(data.values())

要获得匹配的键,请使用key功能

sorted(data, key=data.get)

获取按值排序的元组列表

sorted(data.items(), key=lambda x:x[1])

相关内容:请参阅此处的讨论:字典以Python 3.6+订购


如果你真的想对字典进行排序而不是仅仅获得一个排序列表,可以使用collections.OrderedDict

>>> from collections import OrderedDict
>>> from operator import itemgetter
>>> data = {1: 'b', 2: 'a'}
>>> d = OrderedDict(sorted(data.items(), key=itemgetter(1)))
>>> d
OrderedDict([(2, 'a'), (1, 'b')])
>>> d.values()
['a', 'b']

从你的评论到gnibbler答案,我想说你想要一个按值排序的键值对列表:

sorted(data.items(), key=lambda x:x[1])
链接地址: http://www.djcxy.com/p/2983.html

上一篇: sort dict by value python

下一篇: How to update a pull request from forked repo?