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
个元组或 tuple
个 tuples
创建 OrderedDict
:
od = OrderedDict([('c', 1), ('f', 2), ('a', 3)])
将 dict
转换为 OrderedDict
的问题在于,一旦您创建 dict
或向其中添加任何内容,顺序就会丢失。因此,如果您需要保留订单,则根本不能使用 dict
。
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
个元组或 tuple
个 tuples
创建 OrderedDict
:
od = OrderedDict([('c', 1), ('f', 2), ('a', 3)])
将 dict
转换为 OrderedDict
的问题在于,一旦您创建 dict
或向其中添加任何内容,顺序就会丢失。因此,如果您需要保留订单,则根本不能使用 dict
。