如何使用 Python 对字典进行排序
Python 中的字典是无序的数据结构。但是,在某些情况下,需要按字典键对字典进行排序。
示例输入:
{2:3, 1:89, 4:5, 3:0}
所需输出:
{1:89, 2:3, 3:0, 4:5}
标准 Python字典
标准 Python 字典仅从 Python 版本 3.7 开始维护键顺序。在版本 3.7 之前,使用 sorted(d.items()) 函数将无法达到所需的结果,因为这些字典不会保留排序对的顺序。
OrderedDict
对于 Python 3.7 之前的版本,解决方案是使用collections 模块中的 OrderedDict 类。此类按照插入顺序存储键值对,确保顺序一致。
import collections d = {2:3, 1:89, 4:5, 3:0} # Create an OrderedDict from sorted key-value pairs od = collections.OrderedDict(sorted(d.items())) print(od)
输出:
OrderedDict([(1, 89), (2, 3), (3, 0), (4, 5)])
Python 3
对于 Python 3 及以上版本,.items() 方法应该是用于代替 .iteritems():
for k, v in od.items(): print(k, v)
输出:
1 89 2 3 3 0 4 5
以上是如何按键对 Python 字典进行排序?的详细内容。更多信息请关注PHP中文网其他相关文章!