Python使用sorted对字典的key或value排序

  • Post category:Python

当我们需要对一个字典按照key或者value排序时,可以使用Python内置的函数sorted()来实现。

1. 对字典按key排序

我们可以使用sorted函数传入字典的items()方法,同时利用lambda函数的返回值对每一个键值对进行比较,从而实现按照key排序的效果。

d = {"apple": 2, "banana": 4, "orange": 1, "pear": 3}
sorted_d = dict(sorted(d.items(), key=lambda x: x[0]))
print(sorted_d)

Output:

{'apple': 2, 'banana': 4, 'orange': 1, 'pear': 3}

2. 对字典按value排序

我们可以使用sorted函数传入字典的items()方法,同时利用lambda函数的返回值对每一个键值对进行比较,从而实现按照value排序的效果。

d = {"apple": 2, "banana": 4, "orange": 1, "pear": 3}
sorted_d = dict(sorted(d.items(), key=lambda x: x[1]))
print(sorted_d)

Output:

{'orange': 1, 'apple': 2, 'pear': 3, 'banana': 4}

3.对字典按value排序并降序排列

如果想要按value排序并且降序排列,我们需要设置reverse参数为True

d = {"apple": 2, "banana": 4, "orange": 1, "pear": 3}
sorted_d = dict(sorted(d.items(), key=lambda x: x[1], reverse=True))
print(sorted_d)

Output:

{'banana': 4, 'pear': 3, 'apple': 2, 'orange': 1}

通过以上的操作,我们可以很方便地根据需求对字典的key和value排序。