python 字典(dict)按键和值排序

  • Post category:Python

下面是Python字典按键和值排序的完整攻略。

按键排序

1. 根据字典键排序

可以使用sorted()函数对字典键进行排序,得到一个键的有序列表,再通过循环来获取键对应的值实现排序。

例如,需要对一个字典d按键进行排序,代码如下:

d = {'banana': 3, 'apple': 4, 'pear': 1, 'orange': 2}
sorted_keys = sorted(d.keys())  # 对字典键排序,得到有序列表
for key in sorted_keys:
    print(key, ':', d[key])

输出结果为:

apple : 4
banana : 3
orange : 2
pear : 1

2. 根据字典值排序

如果需要根据字典值排序,可以使用sorted()函数的key参数,指定排序规则为d.get,表示根据字典值排序。

例如,需要对一个字典d按值进行排序,代码如下:

d = {'banana': 3, 'apple': 4, 'pear': 1, 'orange': 2}
sorted_keys = sorted(d.keys(), key=lambda x: d[x])  # 根据字典值排序,得到有序列表
for key in sorted_keys:
    print(key, ':', d[key])

输出结果为:

pear : 1
orange : 2
banana : 3
apple : 4

按值排序

1. 根据字典值排序

如果需要根据字典值排序,可以使用sorted()函数的key参数,指定排序规则为d.get,表示根据字典值排序。

例如,需要对一个字典d按值进行排序,代码如下:

d = {'banana': 3, 'apple': 4, 'pear': 1, 'orange': 2}
sorted_items = sorted(d.items(), key=lambda x: x[1])  # 根据字典值排序,得到有序元组列表
for item in sorted_items:
    print(item[0], ':', item[1])

输出结果为:

pear : 1
orange : 2
banana : 3
apple : 4

2. 根据字典值排序并颠倒顺序

还可以使用sorted()函数的reverse参数将排序结果颠倒,实现倒序排列。

例如,需要对一个字典d按值进行排序并颠倒顺序,代码如下:

d = {'banana': 3, 'apple': 4, 'pear': 1, 'orange': 2}
sorted_items = sorted(d.items(), key=lambda x: x[1], reverse=True)  # 根据字典值排序并颠倒顺序,得到有序元组列表
for item in sorted_items:
    print(item[0], ':', item[1])

输出结果为:

apple : 4
banana : 3
orange : 2
pear : 1

以上是Python字典按键和值排序的完整攻略,希望能够帮助到你。