Python中如何对字典按值的大小进行排序输出打印
问题描述
例如某个班级的数学成绩如下
dict_points = {
"小红": 87,
"丽华": 88,
"大熊": 89,
"丽丽": 83,
"雪儿": 91
}
我们需要对该字典进行输出打印,要求是按分数从高到低输出:
解决思路
- 首先将该字典的每个item转化为元组的(value,key)形式,例如(87,“小红”)
- 将每个item转收集并放入列表 li 中
- 用max() 方法获取值最大的元组,遍历列表li
li = []
for key in dict_points.keys():
item_set = (dict_points[key],key)
li.append(item_set)
for i in range(len(li)):
max_item_set = max(li)
print("\t\t" + max_item_set[1] + "\t\t" + str(max_item_set[0]))
li.remove(max_item_set)
运行效果
雪儿 91
大熊 89
丽华 88
小红 87
丽丽 83