Python3 有序字典—OrderedDict()
Python3 有序字典—OrderedDict()
大猩猩secrets 发表于1年前
Python3 有序字典—OrderedDict()
  • 发表于 1年前
  • 阅读 64
  • 收藏 0
  • 点赞 0
  • 评论 2

【腾讯云】买域名送云解析+SSL证书+建站!>>>   

摘要: Python中字典是无序的,有时需要对字典排序,使用collection模块的OrderedDict实现。
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()如果数据量很大,会消耗内存。

  • 打赏
  • 点赞
  • 收藏
  • 分享
共有 人打赏支持
粉丝 3
博文 67
码字总数 15851
评论 (2)
amesy
解释:OrderedDict()如果数据量很大,会消耗内存。

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

引用来自“amesy”的评论

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

一个 OrderedDict 的大小是一个普通字典的两倍,因为它内部维护着另外一个链表。 所以如果要构建一个需要大量 OrderedDict 实例的数据结构的时候(比如读取 100,000 行 CSV 数据到一个 OrderedDict 列表中去), 就得仔细权衡一下是否使用 OrderedDict 带来的好处要大过额外内存消耗的影响。
是这样的~
×
大猩猩secrets
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
* 金额(元)
¥1 ¥5 ¥10 ¥20 其他金额
打赏人
留言
* 支付类型
微信扫码支付
打赏金额:
已支付成功
打赏金额: