python基础教程之有序字典

有序字典和通常字典类似,只是它可以记录元素插入其中的顺序,而一般字典是会以任意的顺序迭代的。

普通字典:

d1={}
d1['a']='A'
d1['b']='B'
d1['c']='C'
d1['d']='D'   #此时的d1 = {'a':'A','b':'B','c':'C','d':'D'}
for k,v in d1.items():
    print (k,v)

输出结果为:

 a A
 c C
 b B
 d D

由上面的结果可以看出对普通字典进行遍历,输出结果是无序的。

下面是有序字典(需要导入collections包):

'''
遇到问题没人解答?小编创建了一个Python学习交流QQ群:531509025
寻找有志同道合的小伙伴,互帮互助,群里还有不错的视频学习教程和PDF电子书!
'''
import collections
d1={}
d1=collections.OrderedDict()  #将普通字典转换为有序字典
d1['a']='A'
d1['b']='B'
d1['c']='C'
d1['d']='D'
for k,v in d1.items():
    print (k,v)

对比两种输出结果,不难发现,有序字典可以按字典中元素的插入顺序来输出。

上面两个例子之所以字典中插入元素,而不是一开始就将字典中的元素定义好,是因为有序字典的作用只是记住元素插入顺序并按顺序输出。

如果有序字典中的元素一开始就定义好了,后面没有插入元素这一动作,那么遍历有序字典,其输出结果为空,因为缺少了有序插入这一条件,所以此时有序字典就失去了作用,所以有序字典一般用于动态添加并需要按添加顺序输出的时候。

举例说明:

 import collections
 d2 = {'a':'A','b':'B','c':'C','d':'D'}
 d2=collections.OrderedDict()  #将普通字典转换为有序字典
 for k,v in d2.items():
     print (k,v)

其输出结果为空。

posted @ 2022-10-07 20:27  I'm_江河湖海  阅读(17)  评论(0编辑  收藏  举报