d = { 'c' : 1, 'f': 2, 'a': 3}
for key, value in d.iteritems():
print key
我希望能够按照插入顺序迭代键。
我已经看过将dict转换为OrderedDict,但它们似乎有某种顺序(不是它们的插入顺序)
有没有一种简单的方法可以将dict转换为OrderedDict,从而保持插入顺序?
答案 0 :(得分:3)
您不应该将dict
转换为OrderedDict
,而应首先使用OrderedDict
:
from collections import OrderedDict
od = OrderedDict()
od['c'] = 1
od['f'] = 2
od['a'] = 3
或者通常更容易,从OrderedDict
元组或list
tuple
创建tuples
:
od = OrderedDict([('c', 1), ('f', 2), ('a', 3)])
将dict
转换为OrderedDict
的问题是,只要您创建dict
或向其中添加任何内容,订单就会丢失。因此,如果您需要保留订单,则根本无法使用dict
。