Skip to main content
 首页 » 编程设计

python之想要以排序的方式查看字典的合并

2025年05月04日2052php

我能够合并两个字典,但希望看到字典 2 与 dict1 的延续。

def Merge(dict1, dict2): 
    res={**dict1, **dict2} 
 
    return res 
 
dict1= {'a':3,'b':7,'c':9} 
dict2= {'d':7,'e':8} 
mergedict = Merge(dict1,dict2) 
 
print(mergedict) 

实际结果:{'d': 7, 'a': 3, 'e': 8, 'b': 7, 'c': 9}

预期结果:{'a':3, 'b':7, 'c':9, 'd':7, 'e':8}

请您参考如下方法:

dict 仅保留来自 python 3.7 的插入顺序。对于旧版本的 python 使用 OrderedDict

在 Python 3.7 及更高版本上

>>> {**dict1,**dict2} 
{'a': 3, 'b': 7, 'c': 9, 'd': 7, 'e': 8} 

对于旧版本

>>> from collections import OrderedDict 
>>> dict1 = OrderedDict(sorted({'a':3,'b':7,'c':9}.items())) 
>>> dict2 = OrderedDict(sorted({'d':7,'e':8}.items()))       
>>> OrderedDict(dict1,**dict2) 
OrderedDict([('a', 3), ('b', 7), ('c', 9), ('d', 7), ('e', 8)])