文档章节

Python3 有序字典—OrderedDict()

xinxin_
 xinxin_
发布于 2016/11/24 15:58
字数 128
阅读 164
收藏 0
from collections import OrderedDict

d1 = dict([('a', 1), ('b', 2), ('c', 3)])  # key无序
print('d1:', d1)
print(type(d1))

print('#############################################')

d2 = OrderedDict([('a', 1), ('b', 2), ('c', 3)])   # key有序
print('d2:', d2)
print(type(d2))

 

输出:

d1: {'b': 2, 'c': 3, 'a': 1}
<class 'dict'>
#############################################
d2: OrderedDict([('a', 1), ('b', 2), ('c', 3)])
<class 'collections.OrderedDict'>

注:使用字典输出是无序的,使用OrderedDict(),输出有序的数据结构。

OrderedDict()如果数据量很大,会消耗内存。

© 著作权归作者所有

共有 人打赏支持
xinxin_
粉丝 3
博文 81
码字总数 16374
作品 0
南京
程序员
加载中

评论(2)

xinxin_
xinxin_

引用来自“amesy”的评论

解释:OrderedDict()如果数据量很大,会消耗内存。

一个 OrderedDict 的大小是一个普通字典的两倍,因为它内部维护着另外一个链表。 所以如果要构建一个需要大量 OrderedDict 实例的数据结构的时候(比如读取 100,000 行 CSV 数据到一个 OrderedDict 列表中去), 就得仔细权衡一下是否使用 OrderedDict 带来的好处要大过额外内存消耗的影响。
是这样的~
amesy
amesy
解释:OrderedDict()如果数据量很大,会消耗内存。

一个 OrderedDict 的大小是一个普通字典的两倍,因为它内部维护着另外一个链表。 所以如果要构建一个需要大量 OrderedDict 实例的数据结构的时候(比如读取 100,000 行 CSV 数据到一个 OrderedDict 列表中去), 就得仔细权衡一下是否使用 OrderedDict 带来的好处要大过额外内存消耗的影响。
Python3—— collections模块

collections的常用类型有: 计数器(Counter) 双向队列(deque) 默认字典(defaultdict) 有序字典(OrderedDict) 可命名元组(namedtuple) 使用以上类型时需要导入模块 from collections import ...

飞天小橘子
04/04
0
0
Python关于字典排序的知识讲解

1、 准备知识: 在python里,字典dictionary是内置的数据类型,是个无序的存储结构,每一元素是key-value对: 如:dict = {‘username’:‘xiaoming’,‘password’:‘123456’},其中‘u...

xieganyu3460的博客
07/27
0
0
Python collections 模块用法举例

Python作为一个“内置电池”的编程语言,标准库里面拥有非常多好用的模块。比如今天想给大家 介绍的 collections 就是一个非常好的例子。 1、collections模块基本介绍 我们都知道,Python拥有...

大数据之路
2014/04/15
0
2
[雪峰磁针石博客]python库介绍-collections:高性能容器数据类型

简介 2.4新增 源代码:Lib/collections.py and Lib/_abcoll.py 提供了替换dict, list, set和tuple的数据类型。 主要类型如下: namedtuple(): 命名元组,创建有名字域的元组子类的工厂函数。...

磁针石
08/20
0
0
Python 读写一个配置文件的实例分解 (一)

给出的配置文件:configuration.cfg frontend testserver servername 10.5.7.9 IP 10.5.7.9 port 8080 backend Oracle servername 10.5.7.11 IP 10.5.7.11 weight 20 maxconn 2000 servernam......

HiSea_Y
06/26
0
0

没有更多内容

加载失败,请刷新页面

加载更多

RedHat已更改其开源许可规则

对于编程圈外的人来说,软件许可证似乎并不重要,但是,在开源领域,开源许可是非常重要的。 因此,领先的Linux公司Red Hat宣布了一件大事,所有新的由Red Hat发起的使用GNU通用公共许可证(...

linux-tao
13分钟前
3
0
游戏化策划的反馈机制

简评:如何低成本地设计游戏化活动运营方案 当项目活动组采用游戏化机制来设计活动时,往往会犯一个错误 —— 以为物质奖励(金钱或实物)就是终极奖励。然后一次又一次的证据显示,有形奖励...

极光推送
15分钟前
1
0
PHP "延迟静态绑定" 功能,static

从这个名字的定义提取出两个关键点,第一点静态,也就是说这个功能只适用于静态属性或静态方法。 第二点延迟绑定,这个根据下面代码就可以很好的理解 class A{ static $name = "Tom";...

nsns
20分钟前
1
0
《看图轻松理解数据结构与算法系列》导引贴

最近学习数据结构,遇到一个很喜欢的博主,他的文章图文并茂,理解起来很容易。特此开贴记录,方便反复阅读。 博主主页 https://juejin.im/user/57c3970f79bc440063e58518/posts?sort=popul...

科陆李明
57分钟前
1
0
20.27 分发系统介绍~ 20.30 expect脚本传递参数

分发系统介绍分发系统-expect讲解(也就是一个分发的脚本)场景:业务越来越大,网站app,后端,编程语言是php,所以就需要配置lamp或者lnmp,最好还需要吧代码上传到服务器上;但是因...

洗香香
今天
2
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部