Python 中如果想按值对字典进行排序,使用 sorted
函数和一个 lambda 函数可以。下面是示例代码和说明。
示例代码:
>>> dc = {'a': 4, 'b': 3, 'c': 2, 'd': 1}
>>> sorted(dc.items(), key=lambda x: x[1])
输出:
[('d', 1), ('c', 2), ('b', 3), ('a', 4)]
代码说明
-
代码定义了一个名为
dc
的字典,其中包含四个键值对:{'a': 4, 'b': 3, 'c': 2, 'd': 1}
。 -
然后调用
sorted
函数并传入两个参数xs.items()
:此方法返回字典的键值对作为元组的列表,如[('a', 4), ('b', 3), ('c', 2), ('d', 1)]
。key=lambda x: x[1]
:一个 lambda 函数,接收一个参数x
并返回元组的第二个元素(即x[1]
)。key
参数用于根据指定的条件确定排序顺序,本例中为字典的值。
-
sorted
函数按字典的值升序排序元组列表,得到以下排序的元组列表:[('d', 1), ('c', 2), ('b', 3), ('a', 4)]
。