如何使用Python的sorted()函数对字典的值进行排序并返回键名?
发布时间:2023-07-01 01:40:51
使用Python中的sorted()函数对字典的值进行排序并返回键名非常简单。下面是一种方法:
1. 首先,准备一个字典,包含键值对。例如,可以创建一个包含学生姓名和对应成绩的字典:
scores = {
'Tom': 80,
'Jerry': 75,
'Alice': 90,
'Bob': 85
}
2. 使用sorted()函数对字典的值进行排序。sorted()函数接受一个可迭代对象作为参数,并返回一个排序后的新列表。在这里,将字典的值作为可迭代对象传递给sorted()函数即可:
sorted_scores = sorted(scores.values())
3. 得到排序后的值以后,可以使用列表的index()方法获取每个值对应的键名。index()方法接受一个值作为参数,并返回该值在列表中的索引。将每个值依次传递给index()方法,并存储结果到一个新列表中即可:
sorted_keys = [key for value in sorted_scores for key in scores if scores[key] == value]
4. 最后,可以通过打印sorted_keys列表来查看按值排序后的键名:
print(sorted_keys)
输出结果为:
['Jerry', 'Tom', 'Bob', 'Alice']
注意事项:
- 如果你想要按照值的升序进行排序,可以在调用sorted()函数时不传递任何参数,sorted_scores = sorted(scores.values())。
- 如果你想要按照值的降序进行排序,可以在调用sorted()函数时传递reverse=True参数,sorted_scores = sorted(scores.values(), reverse=True)。
