按值对字典进行排序
按值对给定的字典进行排序。
- 使用
dict.items()
从d
获取一个由元组对组成的列表,并使用lambda函数和sorted()
对其进行排序。 - 使用
dict()
将排序后的列表转换回字典。 - 使用
sorted()
中的reverse
参数以基于第二个参数的顺序对字典进行逆序排序。 - ⚠️ 注意:字典的值必须是相同类型的。
def sort_dict_by_value(d, reverse=False):
return dict(sorted(d.items(), key=lambda x: x[1], reverse=reverse))
d = {'one': 1, 'three': 3, 'five': 5, 'two': 2, 'four': 4}
sort_dict_by_value(d) # {'one': 1, 'two': 2, 'three': 3, 'four': 4, 'five': 5}
sort_dict_by_value(d, True)
# {'five': 5, 'four': 4, 'three': 3, 'two': 2, 'one': 1}