[PY3]——字典排序问题

Posted Jelly_lyj

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了[PY3]——字典排序问题相关的知识,希望对你有一定的参考价值。

 

OrderedDict 有序字典

from collections import OrderedDict

d={}
d[0]=3;d[6]=1;d[3]=1    //仔细看插入顺序
for k,v in d.items():
    print(k,v)          //输出的时候dict字典会按照key顺序来排序
0 3
3 1
6 1

od=OrderedDict()
od[0]=3;od[6]=1;od[3]=1   //但同样的插入顺序下
for k,v in od.items():
    print(k,v)            //OrdereDict会保持插入顺序
0 3
6 1
3 1

 

需要注意的是,一个 OrderedDict 的大小是一个普通字典的两倍,因为它内部维护着另外一个链表,要注意内存消耗问题

 

以上是关于[PY3]——字典排序问题的主要内容,如果未能解决你的问题,请参考以下文章

[PY3]——怎样在数据字典中执行一些计算操作(比如求最大值排序等)

[PY3]——内置数据结构——字典及其常用操作

py3 字符串 字典 列表 元组 集合

13 个非常有用的 Python 代码片段

[PY3]——heap模块 和 堆排序

Python snippet(代码片段)