如何使用python对dict排序?

时间:2019-02-12 04:40:36

标签: python sorting dictionary

我无法对字典进行排序。我的代码是:

x = {('S', 'A'): (5, 8), ('S', 'B'): (11, 17), ('S', 'C'): (8, 14)}

sort_x = sorted(x.items(), key=lambda kv: kv[1])
print sort_x
sort_x_dict = dict(sort_x)
print sort_x_dict

输出:

[(('S', 'A'): (5, 8)), (('S', 'C'): (8, 14)), (('S', 'B'): (11, 17))]
{('S', 'A'): (5, 8), ('S', 'B'): (11, 17), ('S', 'C'): (8, 14)}

1 个答案:

答案 0 :(得分:5)

从您的print语句中可以明显看出您正在使用Python 2.7,但仅保证自python 3.7起即可对命令进行排序。您可以升级到Python 3.7以使您的确切代码正常工作,也可以切换到collections.OrderedDict来代替dict:

from collections import OrderedDict
sort_x = sorted(x.items(), key=lambda kv: kv[1])
print(sort_x)
sort_x_dict = OrderedDict(sort_x)
print(sort_x_dict)