Python 字典排序

Python 字典排序

《Python3 CookBook》

问题

想创建一个字典,并且在迭代或序列化这个字典的时候能够控制元素的顺序。

解决方案

为了能控制一个字典中元素的顺序,可以使用 collections 模块中的 OrderedDict 类。可以在迭代的时候保持元素被插入时的顺序

>>> from collections import OrderedDict
>>> d = OrderedDict()
>>> d['foo'] = 1
>>> d['bar'] = 2
>>> d['spam'] = 3
>>> 
>>> for key in d:
...     print(key, d[key])
... 
foo 1
bar 2
spam 3

OrderedDict内部是一个双向链表, 他的大小是普通字典的两倍。所以在数据非常大的时候需要考虑它带来的好处是否大过内存消耗的影响

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 字典排序 问题 创建字典,并在迭代或序列化字典的时候控制元素的顺序。 解决方法 Python 提供的 collec...
    大梦三千秋阅读 2,047评论 0 5
  • 平常学习了字典(dict),感觉还行。但一到用的时候,就感觉模棱两可。 于是就总结了字典的常见用法,以后可熟记于心...
    周冬雨_阅读 1,760评论 0 0
  • orderedDict 保持元素插入时的顺序 from collections import OrderedDi...
    SkTj阅读 1,319评论 0 0
  • 问题 创建一个字典,并且在迭代或序列化这个字典的时候能够控制元素的顺序。 解决方案 为了能控制一个字典中元素的顺序...
    惑也阅读 4,753评论 0 2
  • 先看列表的排序: x[0]是根据元组的第一个元素降序,x[1]是第二个元素(元组和列表一样使用索引,如a=(4,2...
    大力SAMA阅读 3,483评论 0 1

友情链接更多精彩内容