【问题标题】:Python: iterating through a dict in the order in which items were insertedPython:按插入项目的顺序迭代字典
【发布时间】:2015-09-22 17:18:08
【问题描述】:
d = { 'c' : 1, 'f': 2, 'a': 3}

for key, value in d.iteritems():
    print key

我希望能够按照插入的顺序遍历键。

我看过将 dict 转换为 OrderedDict 但它们似乎有某种顺序(而不是它们的插入顺序)

有没有一种简单的方法可以将 dict 转换为保持插入顺序的 OrderedDict?

【问题讨论】:

  • 当你创建一个字典时,你已经失去了订单。如果你想要订单,你需要从一开始就创建一个 OrderedDict。
  • @BrenBarn 好吧,这就是我的想法,但只是在这里与聪明的 ppl 核对一下

标签: python dictionary ordereddictionary


【解决方案1】:

您不应该将您的dict 转换为OrderedDict,您应该首先使用OrderedDict

from collections import OrderedDict

od = OrderedDict()
od['c'] = 1
od['f'] = 2
od['a'] = 3

或者通常更简单,从元组的listtuplestuple 创建OrderedDict

od = OrderedDict([('c', 1), ('f', 2), ('a', 3)])

dict 转换为OrderedDict 的问题在于,一旦您创建dict 或向其中添加任何内容,订单就会丢失。因此,如果您需要保持订单,则根本不能使用dict

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2022-11-25
    • 1970-01-01
    • 1970-01-01
    • 2013-05-18
    • 2019-09-18
    • 2012-10-26
    • 2018-05-31
    相关资源
    最近更新 更多