我需要幫助合併兩個字典。我可以合併它們,但問題是我需要兩本字典來維護它們的順序。在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) –