字典排序和删除

3 python sorting dictionary

我坚持使用字典并在python中进行排序,我将以下值存储在字典中:

{'PersonA': 87.0, 'PersonB': 89.0, 'PersonC': 101, 'PersonD': 94, 'PersonE': 112}
Run Code Online (Sandbox Code Playgroud)

我想要:

1)对它们进行排序,使它们按照最高分排序,最低分
2)从字典中删除分数,只留下名称

例如,在上面的例子中,函数应该返回:

['PersonE', 'PersonC', 'PersonD', 'PersonB', 'PersonA']
Run Code Online (Sandbox Code Playgroud)

iCo*_*dez 7

您可以通过以下方式轻松完成sorted:

>>> d = {'PersonA': 87.0, 'PersonB': 89.0, 'PersonC': 101, 'PersonD': 94, 'PersonE': 112}
>>> sorted(d, key=d.get, reverse=True)
['PersonE', 'PersonC', 'PersonD', 'PersonB', 'PersonA']
>>>
Run Code Online (Sandbox Code Playgroud)

请注意,输出是一个名称列表.你不能在Python中对字典或集合进行排序,因为它们都是自然无序的.