有序字典就像普通字典一样,但他们记住了项目插入的顺序。 在迭代有序字典时,将按照首次添加键的顺序返回项目。

用法:

class collections.OrderedDict([items])

返回一个字典子类的实例,支持通常的字典方法。

OrderedDict是一个字典,它记住了键被首次插入的顺序。

如果新条目覆盖现有条目,则原始插入位置保持不变。

删除一个条目并重新插入它将会把它移到最后。

popitem(last=True)

有序字典的popitem()方法返回并删除(key, value)对。

如果 last 是 True 或者如果 FIFO(先进先出) 的顺序为false,则按LIFO(后进先出)顺序返回键值对。

如果last是True,则以LIFO[后进先出]的顺序返回,如果为Flase,则以FIFO[先进先出]顺序返回。

move_to_end(key, last=True)

将现有键移至有序字典的任意一端。 如果last为True(默认值),则项目移动到右侧,如果last为false,则移动到开头。

如果key不存在,则引发KeyError:

除了通常的映射方法外,有序字典还支持reverse()方法进行反向迭代。

OrderedDict对象之间的等式测试是顺序敏感的,并且以 list(od1.items()) == list(od2.items()) 的形式实现。

OrderedDict对象与其他映射(Mapping)对象之间的等式测试对常规字典对顺序不敏感。

这允许在使用常规字典的任何地方替换OrderedDict对象。

版本3.5中更改:OrderedDict的项目,键和值视图现在支持使用reversed()进行反向迭代。

在版本3.6中更改:随着PEP 468的接受,保留传递给OrderedDict构造函数和update()方法的关键字参数的顺序。

OrderedDict Examples and Recipes(OrderedDict示例和食谱)

由于有序字典会记住它的插入顺序,因此它可以与排序结合使用以创建一个排序后的字典:

删除条目时,新排序的字典会保持其排序顺序。 但是,当添加新的密钥时,密钥被追加到最后,并且不会保留排序。

创建一个有序的字典变体也很简单,可以记住上一次插入秘钥的顺序。如果新条目覆盖现有条目,则会更改原始插入位置并移至结尾:

有序字典可以与Counter类组合使用,以便计数器记住第一次遇到的顺序元素:

转载于:https://blog.51cto.com/286577399/2345136

5. python Collections -- OrdereDict相关推荐

  1. 四种高性能数据类型,Python collections助你优化代码、简洁任务

    在这篇文章中,机器学习工程师 George Seif 介绍了 Python collections 模块最受欢迎的四种数据类型以及它们各自的使用方法.这些数据类型可以对代码进行优化,进而实现更简洁的任 ...

  2. python︱ collections模块(namedtuple/defaultdict/OrderedDict等)

    collections有的功能: ['deque', 'defaultdict', 'namedtuple', 'UserDict', 'UserList', 'UserString',\'Count ...

  3. 一文看懂Python collections模块的高效数据类型

    原作: George Seif, 发表于medium.com, 大江狗原创翻译, 并对原文稍作修改. Python的最大优势之一是其广泛的模块和软件包.这将Python的功能扩展到许多受欢迎的领域,包 ...

  4. python collections模块(数据结构常用模块)计数器Counter 双向队列deque 默认字典defaultdict 有序字典OrderedDict 可命名元组namedtuple

    collections 模块----Python标准库,是数据结构常用模块 常用类型有: 计数器(Counter) 双向队列(deque) 默认字典(defaultdict) 有序字典(Ordered ...

  5. python collections模块_Python 的collections模块

    前言: collections是实现了特定目标的容器,以提供python标准内建容器dict,list,set和tuple的替代选择. Counter Counter是一个dict子类,主要是用来对你 ...

  6. python3 collections模块 tree_第30天: Python collections 模块

    by 豆豆 1.简介 collections 是 python 的内置模块,提供了很多方便且高性能的关于集合的操作,掌握这些知识有助于提高代码的性能和可读性. 2.常用功能 2.1 namedtupl ...

  7. defaultdict python3,Python collections.defaultdict() 与 dict的使用和区别|python3教程|python入门|python教程...

    https://www.xin3721.com/eschool/python.html 在Python里面有一个模块collections,解释是数据类型容器模块.这里面有一个collections. ...

  8. python collections 模块中的 deque

    collections.deque介绍 collections 是 python 内建的一个集合模块,里面封装了许多集合类,其中队列相关的集合只有一个:deque. deque 是双边队列(doubl ...

  9. python collections(容器)模块

    原文:http://docs.pythontab.com/interpy/collections/collections/ 容器(Collections) Python附带一个模块,它包含许多容器数据 ...

最新文章

  1. C++ Priority Queues(优先队列)
  2. 放大器的传递函数_保证放大器的稳定性什么最重要?反馈电阻一定要选对!
  3. 数学建模学习笔记(七)——图论最短路问题
  4. (52)Verilog HDL下升沿检测
  5. 你不知道的JS之作用域和闭包(二)词法作用域
  6. Requests 入门
  7. 四位七段数码管pcb_BlockPi入门教程——数码管
  8. tesseract ocr 5.0 Api调用,delphi源码实现--识别率超高速度快
  9. Spark安装出错问题
  10. 使用gnome3桌面总结
  11. java web聊天室论文_基于javaweb聊天室.doc
  12. jcifs报错,jcifs.util.transport.TransportException: Transport1 timedout waiting for response to SmbComR
  13. 【vue d3 v4】vue2结合d3实现类似企查查的股权穿透图、股权结构图
  14. C++ 操作Excel
  15. Nylg541 最强DE 战斗力
  16. 【慕容话币】|如何养成正确的交易思想
  17. mysql 事务隔离界别_MySQL数据库事务隔离级别(Transaction Isolation Level)
  18. 3D图形:矩阵的相关知识
  19. 代驾APP_第一章_项目环境搭建_第二节
  20. 解决磁盘空间不足的问题

热门文章

  1. 小卡片遇热就变机器人,不插电就能运动,哈佛加州理工新研究登上Nature子刊...
  2. 6000星人气深度学习资源!架构模型技巧全都有,图灵奖得主LeCun推荐
  3. clion register
  4. 第5章 案例研究: QuickCheck
  5. Dominating Patterns
  6. 修改wordpress地址(URL)导致不能登录后台
  7. ios Runloop
  8. 缇 、 像素 、 厘米
  9. 将win7电脑变身WiFi热点,让手机、笔记本共享上网
  10. [转]C#多线程学习(四) 多线程的自动管理(线程池)