2015-09-22 30 views
0
d = { 'c' : 1, 'f': 2, 'a': 3} 

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

我希望能够迭代它们插入的键。Python:迭代插入项目的字典

我已经看了转换字典内OrderedDict,但他们似乎有某种顺序(而不是他们的插入顺序)

有没有一种简单的方法来字典转换为OrderedDict其维持秩序插入?

+9

当你创建一个字典时,你已经失去了订单。如果你想要订单,你需要从一开始就创建一个OrderedDict。 – BrenBarn

+0

@BrenBarn好吧多数民众赞成在想什么,但只是用这里的智能体育俱乐部检查 – ealeon

回答

2

你不应该转换dictOrderedDict,你应该首先被使用OrderedDict

from collections import OrderedDict 

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

或者往往更容易,从元组的listtuples一个tuple创建OrderedDict

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

与转换dictOrderedDict的问题是,只要你创建dict或添加任何东西,订单丢失。所以如果你需要保留订单,你完全不能使用dict