📜  Python-测验| Python词典测验 |问题 16(1)

📅  最后修改于: 2023-12-03 14:46:19.707000             🧑  作者: Mango

Python-测验| Python词典测验 |问题 16

本测验包含问题16,测试您对Python词典的理解。

问题

以下是一个Python词典:

my_dict = {"apple": 2, "banana": 4, "orange": 1, "kiwi": 3}

请问如何按值对词典进行排序?

回答

可以使用内置的sorted()函数,将词典转换为包含元组的列表,并按元组的第二个元素(值)进行排序。排序后,可以使用collections.OrderedDict将其转换回一个排序的词典。

import collections

my_dict = {"apple": 2, "banana": 4, "orange": 1, "kiwi": 3}
sorted_dict = sorted(my_dict.items(), key=lambda x: x[1])

sorted_odict = collections.OrderedDict(sorted_dict)

print(sorted_odict)

输出为:

OrderedDict([('orange', 1), ('apple', 2), ('kiwi', 3), ('banana', 4)])

其中lambda函数用于获取元组的第二个元素(值),这是sorted()函数用于排序的键。最后,我们将排序的列表转换回有序的词典并打印输出。