博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
python有序字典
阅读量:4636 次
发布时间:2019-06-09

本文共 935 字,大约阅读时间需要 3 分钟。

最近的django开发中用到了有序字典,所以研究了一下,以下。

示例:

 

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

普通字典:

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 A2 c C3 b B4 d D

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

 

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

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

输出结果为:

1 a A2 b B3 c C4 d D

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

 

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

 

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

举例说明:

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

其输出结果为空。

 

转载于:https://www.cnblogs.com/tianyiliang/p/8260741.html

你可能感兴趣的文章
【kindeditor】KindEditor获取多个textarea文本框的值并判断非空
查看>>
【 全干货 】5 分钟带你看懂 Docker !
查看>>
[转]优化Flash性能
查看>>
【大话设计模式】——浅谈设计模式基础
查看>>
popStar手机游戏机机对战程序
查看>>
hadoop2.4.1集群搭建
查看>>
Android采用Application总结一下
查看>>
ORA-00942:表或视图不存在(低级错误)
查看>>
Java Web项目结构
查看>>
PAT-1060 Are They Equal (科学计数法)
查看>>
lambda表达式树
查看>>
OpenCV YUV 与 RGB的互转(草稿)
查看>>
「Django」rest_framework学习系列-用户认证
查看>>
二次注入原理及防御
查看>>
要过一遍的博客列表
查看>>
栈和队列的操作
查看>>
会话记住已登录功能
查看>>
detection in video and image
查看>>
Linux内核分析——可执行程序的装载
查看>>
吴裕雄--天生自然 JAVASCRIPT开发学习:DOM EventListener
查看>>