按值对字典进行排序

按值对给定的字典进行排序。

  • 使用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}