我无法对字典进行排序。我的代码是:
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)}
答案 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)