在Python中,字典是一种无序数据类型,不过我们可以通过字典键或者值对字典进行排序。
下面是对Python字典进行排序的完整攻略:
对字典键进行排序
- 使用sorted()函数
# 定义一个字典
dict1 = {'a': 3, 'b': 1, 'c': 2}
# 对字典的键进行排序
sorted_dict1 = dict(sorted(dict1.items(), key=lambda x:x[0]))
# 输出排序结果
print(sorted_dict1) # 输出:{'a': 3, 'b': 1, 'c': 2}
代码解析:
1. 使用sorted()函数对字典dict1进行排序,dict1.items()
返回一个由键值对元组组成的列表,key=lambda x:x[0]
表示按照键进行排序。
2. sorted()函数返回的是一个列表,通过dict()
将排序结果转化为字典。
- 使用collections.OrderedDict
# 导入OrderedDict
from collections import OrderedDict
# 定义一个字典
dict2 = {'a': 3, 'b': 1, 'c': 2}
# 对字典的键进行排序
sorted_dict2 = OrderedDict(sorted(dict2.items(), key=lambda x:x[0]))
# 输出排序结果
print(sorted_dict2) # 输出:OrderedDict([('a', 3), ('b', 1), ('c', 2)])
代码解析:
1. 使用ordereddict()函数对字典dict2进行排序,dict2.items()
返回一个由键值对元组组成的列表,key=lambda x:x[0]
表示按照键进行排序。
2. ordereddict()函数返回的是一个OrderedDict有序字典。
对字典值进行排序
- 使用sorted()函数
# 定义一个字典
dict3 = {'a': 3, 'b': 1, 'c': 2}
# 对字典的值进行排序
sorted_dict3 = dict(sorted(dict3.items(), key=lambda x:x[1]))
# 输出排序结果
print(sorted_dict3) # 输出:{'b': 1, 'c': 2, 'a': 3}
代码解析:
1. 使用sorted()函数对字典dict3进行排序,dict3.items()
返回一个由键值对元组组成的列表,key=lambda x:x[1]
表示按照值进行排序。
2. sorted()函数返回的是一个列表,通过dict()
将排序结果转化为字典。
- 使用函数库operator中的itemgetter()方法
# 导入模块
import operator
# 定义一个字典
dict4 = {'a': 3, 'b': 1, 'c': 2}
# 对字典的值进行排序
sorted_dict4 = dict(sorted(dict4.items(), key=operator.itemgetter(1)))
# 输出排序结果
print(sorted_dict4) # 输出:{'b': 1, 'c': 2, 'a': 3}
代码解析:
1. 使用sorted()函数对字典dict4进行排序,dict4.items()
返回一个由键值对元组组成的列表,key=operator.itemgetter(1)
表示按照值进行排序。
2. sorted()函数返回的是一个列表,通过dict()
将排序结果转化为字典。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:如何对python的字典进行排序 - Python技术站