python基础教程之有序字典

忘是亡心i 2022-10-19 04:29 345阅读 0赞

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

普通字典:

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

输出结果为:

  1. a A
  2. c C
  3. b B
  4. d D

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

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

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

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

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

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

举例说明:

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

其输出结果为空。

发表评论

表情:
评论列表 (有 0 条评论,345人围观)

还没有评论,来说两句吧...

相关阅读

    相关 python 有序字典

    首先介绍下为什么有时候用到字典。 例如一场考试成绩其实可以用列表表示,如\[\[张三,89\],\[李四,85\]\]。 可能很多人觉得这样没有字典直观。 确实,但是

    相关 python实现有序字典

    对于一个能够保存键值插入顺序的字典,是如何实现的? 主要有两点:   一个双向链表,用来记录字典的键值的插入顺序   一个键和链表节点的映射,主要用来删除键的时候,找