Python collections.OrderedDict()
Python collections
2023-09-27 14:25:29 时间
一、问题
创建有序字典。
二、解决方案
collections.OrderedDict()
标准的字典是无序的。而collections.OrderedDict()
是一种特殊字典,能够按照键的插入顺序保留键值对在字典的次序。
from collections import OrderedDict
d = OrderedDict()
d['foo'] = 1
d['bar'] = 2
d['spam'] = 3
d['grok'] = 4
print(d)
for key, value in d.items():
print(key, value)
OrderedDict([('foo', 1), ('bar', 2), ('spam', 3), ('grok', 4)])
foo 1
bar 2
spam 3
grok 4
控制 \(JSON\) 编码后字段的顺序。
import json
print(json.dumps(d))
{"foo": 1, "bar": 2, "spam": 3, "grok": 4}
三、讨论
OrderedDict()
内部是一个根据键的插入顺序排序的双向链表。当新元素插入,被放到链表尾部。对存在的键重复赋值不会改变键的顺序。
一个OrderedDict
的大小是一个普通字典的两倍。所以当数据量大时(比如100000行 csv 数据放到 orderedDict 中),需要考虑内存的消耗。
相关文章
- python一键对应多个值
- python中如何将字符串连接在一起,多倍的字符串如何输出
- Python中collections.defaultdict()使用
- python递归使用
- 23 python - 字典的遍历
- python collections 专用容器数据类型
- Python数据可视化1.4 可视化如何帮助决策
- python不起眼的知识点
- 利用Python的collections包下Counter的类统计每个数据出现的个数
- 《Python极客项目编程 》——1.6 小结
- 《Python机器学习——预测分析核心算法》——导读
- Python数据结构与算法(4)--递归
- Python:__eq_和__str__函数的用法
- python (1):使用python 进行api 接口测试
- 学习笔记(20):Python网络编程&并发编程-互斥锁与join的区别
- python类的学习笔记1