按照固定顺序迭代python字典

按照固定顺序迭代python字典

python字典对(key,value)的存储是无序的,因此直接迭代输出字典(key,value)对是无规律的。比如下面例子:

from collections import defaultdict, OrderedDict
grade = defaultdict()

grade['小明'] = 90
grade['小王'] = 80
grade['小张'] = 70

for key, item in grade.items():
    print("key:{0}, item:{1}".format(key, item))

输出结果如下:

输出结果

通过结果,我们可以看出python中字典其本身自带的排序作用有时会对我们的使用产生干扰。

有时候,我们想让字典按照自己的添加顺序输出,这个需求还是很常见的,那么如何解决呢?我们可以使用collections集合模块中的OrderedDict类。

使用代码如下:

from collections import defaultdict, OrderedDict

grade_test = OrderedDict()
grade_test['小明'] = 90
grade_test['小王'] = 80
grade_test['小张'] = 70
for key, item in grade_test.items():
    print("key:{0}, item:{1}".format(key, item))

输出结果如下:

则我们实现了让字典按照自己的添加顺序输出功能。

参考:

collectionswww.liaoxuefeng.com图标

编辑于 2018-03-26

文章被以下专栏收录