有序字典
一、简介
Python中的字典的特性:无序性。
有序字典和通常字典类似,只是它可以记录元素插入其中的顺序,而一般字典是会以任意的顺序迭代的。
二、普通字典
#! /usr/bin/env python3 # -*- coding:utf-8 -*- d1 = {} d1['a'] = 'A' d1['b'] = 'B' d1['c'] = 'C' d1['d'] = 'D' for k, v in d1.items(): print(k, v)
输出结果为:
c C b B a A d D
由上面的结果可以看出对普通字典的遍历,输出结果是无序的。
三、有序字典
#! /usr/bin/env python3 # -*- coding:utf-8 -*- import collections d1 = collections.OrderedDict() d1['a'] = 'A' d1['b'] = 'B' d1['c'] = 'C' d1['d'] = 'D' for k, v in d1.items(): print(k, v)
输出结果为:
a A b B c C d D
对比两种输出结果,不难发现,有序字典可以按字典中元素插入的顺序来输出。
上面两个例子之所以字典中插入元素,而不是一开始就将字典中的元素定义好,是因为有序字典的作用只是记住元素插入顺序并按插入的顺序输出。