【问题标题】:How to maintain order of key/value pairs in dictionary of python? [duplicate]如何维护python字典中键/值对的顺序? [复制]
【发布时间】:2012-03-18 12:41:42
【问题描述】:

我正在创建一个使用字典的模块。该字典包含一些键/值对,在其他模块中使用时,它们的顺序必须保留。但是每当我遍历字典并打印键时,键的顺序就不是键/值对的插入顺序。

所以我的问题是我应该如何保留字典中键/值对的顺序?

任何帮助将不胜感激...

提前谢谢...

【问题讨论】:

  • 你的意思是项目被添加到字典中的顺序吗?在这种情况下,您可以使用来自collections 的OrderedDict:docs.python.org/dev/library/…
  • @SimeonVisser:是的,完全正确。我想保持插入项目的顺序。感谢您的链接。我会检查它并回复给你......
  • 我看到 PyPI 有一个包为 Python 2.4、2.5 和 2.6 提供 OrderedDict 功能:pypi.python.org/pypi/ordereddict。你可以试试看。
  • @SimeonVisser:我检查了 python 2.7 文档,发现 Python 2.7 存在 OrderedDict ......感谢帮助...... :)

标签: python python-2.7


【解决方案1】:

我们知道常规 Python 字典以任意顺序迭代对,因此它们不保留对的插入顺序。 蟒蛇 2.7。在“collections”模块中引入了一个新的“OrderDict”类,它提供了与通用字典相同的接口,但它根据第一次插入键的时间以有序的方式遍历键和值。 例如:

from collections import OrderedDict
d = OrderDict([('Company-id':1),('Company-Name':'Intellipaat')])
d.items() # displays the output as: [('Company-id':1),('Company-Name':'Intellipaat')]

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-11-13
    • 2011-12-18
    • 2011-03-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多