OrderedDict 是 Python 标准库 collections 模块中的一个字典子类,它能够维护项目插入的顺序。与普通字典不同,OrderedDict 在迭代或序列化时也会严格保留项目的顺序。

Python OrderedDict 示例

OrderedDict 是 Python collections 模块的一部分。要构建有序字典,可以直接从该模块导入并使用。

from collections import OrderedDict

d = OrderedDict()
d['how'] = 1
d['to'] = 2
d['do'] = 3
d['in'] = 4
d['java'] = 5

for key in d:
    print(key, d[key])

输出结果:

how 1
to 2
do 3
in 4
java 5

将 OrderedDict 转换为 JSON

OrderedDict 序列化为 JSON 格式时,项目的顺序同样会被保留。

from collections import OrderedDict
import json

d = OrderedDict()
d['how'] = 1
d['to'] = 2
d['do'] = 3
d['in'] = 4
d['java'] = 5

json.dumps(d)

输出结果:

'{"how": 1, "to": 2, "do": 3, "in": 4, "java": 5}'

学习愉快!

说明:自 Python 3.7 起,标准内置字典 dict 也已正式保证维护插入顺序。但在需要特定有序字典方法(如 move_to_end)或强调顺序语义的场景下,OrderedDict 仍然适用。

相关教程

  1. Python 基础教程
  2. 在 SublimeEditor 中配置 Python 环境
  3. Python 代码中添加注释
  4. Python 中的变量的使用
  5. Python 中的数据类型
  6. Python 中的关键字
  7. Python 字符串操作
  8. Python 中的 list 操作
  9. Python 中的 Tuple 操作
  10. Python max() 和 min() – 在列表或数组中查找最大值和最小值
  11. Python 找到最大的 N 个(前 N 个)或最小的 N 个项目
  12. Python 读写 CSV 文件
  13. Python 中使用 httplib2 – HTTP GET 和 POST 示例
  14. Python 将 tuple 开箱为变量或参数
  15. Python 开箱 Tuple – 太多值无法解压
  16. Python multidict 示例 – 将单个键映射到字典中的多个值
  17. Python OrderedDict – 有序字典
  18. Python 字典交集 – 比较两个字典
  19. Python 优先级队列示例