Python:按照插入项的顺序遍历字典

Python: iterating through a dict in the order in which items were inserted

d = { 'c' : 1, 'f': 2, 'a': 3}

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

我希望能够按照键的插入顺序循环访问它们。

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

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

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

from collections import OrderedDict

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

或者通常更简单,从 list 个元组或 tupletuples 创建 OrderedDict

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

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