我需要帮助合并两个字典。我可以合并它们,但问题是我需要两本字典来维护它们的顺序。在Python中合并两个字典
对于expample:
x = {'a':1, 'b': 2}
y = {'b':10, 'c': 11}
z = dict(x.items() + y.items())
print z
{ 'A':1, 'C':11, 'B':10}
这个输出是一个问题。我需要输出为:{'a':1, 'b':10, 'c': 11}
必须保留字母的顺序。
我需要帮助合并两个字典。我可以合并它们,但问题是我需要两本字典来维护它们的顺序。在Python中合并两个字典
对于expample:
x = {'a':1, 'b': 2}
y = {'b':10, 'c': 11}
z = dict(x.items() + y.items())
print z
{ 'A':1, 'C':11, 'B':10}
这个输出是一个问题。我需要输出为:{'a':1, 'b':10, 'c': 11}
必须保留字母的顺序。
基本的Python字典类是无序的。如果您使用的是2.7或3.anything,则需要使用collections.OrderedDict
,或者您可以使用Google for 2.6或更早版本轻松找到的众多实现之一。以下是Python文档为2.4-2.6链接的一个配方:http://code.activestate.com/recipes/576693/
所以我不得不做“导入集合”,然后x = collections.OrderedDict {'a':1,'b':2}? – user2943615
如果你想控制顺序,你必须给OrderedDict一个可迭代的键/值对,或者在创建它之后添加它们。例如:'x = collections.OrderedDict([('a',1),('b',2)])''。或'x = collections.OrderedDict(); x ['a'] = 1; x ['b'] = 2'。 –
字典不受限制。你想要的是无法实现的。 –
为什么downvotes? –
可能重复的[为什么是python排序我的字典是这样吗?](http://stackoverflow.com/questions/526125/why-is-python-ordering-my-dictionary-like-so) –