Python中的有序字典

在 Python 3.5版本(含3.5)之前, 默认的字典是无序的. 在最新的3.6版本中, 字典变成了有序字典, 本篇文章将介绍3.5版本及之前版本中有序字典的使用和3.6版本原生有序字典的使用

3.5-

3.5版本及之前的版本中, 需要借助collections模块中的OrderedDict来实现有序字典的声明和使用

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
from collections import OrderedDict

od = OrderedDict()
d = {}

od['name'] = 'lvrui'
od['age'] = 26
od['city'] = 'HeBei'

d['name'] = 'lvrui'
d['age'] = 26
d['city'] = 'HeBei'

print(od)
print(d)

执行结果为:

1
2
OrderedDict([('name', 'lvrui'), ('age', 26), ('city', 'HeBei')])
{'city': 'HeBei', 'name': 'lvrui', 'age': 26}

3.6+

在 Python3.6+ 版本中, 内置字典默认就是有序的😆 爽~

1
2
3
4
5
6
7
8
9
10
➜  ~ python3.6
Python 3.6.2 (v3.6.2:5fd33b5926, Jul 16 2017, 20:11:06)
[GCC 4.2.1 (Apple Inc. build 5666) (dot 3)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> d = {}
>>> d['name'] = 'lvrui'
>>> d['age'] = 26
>>> d['city'] = 'HeBei'
>>> d
{'name': 'lvrui', 'age': 26, 'city': 'HeBei'}