如何在python中合并2个有序词典?

gol*_*olu 14 python dictionary

我有两个有序的词典,如:

a = collections.OrderedDict()
b = collections.OrderedDict()
Run Code Online (Sandbox Code Playgroud)

他们有东西.我如何合并这两个?我试过了:

mergeDict = dict(a.items() + b.items())
Run Code Online (Sandbox Code Playgroud)

但这样做不再是一个有序的字典了.

我寻找,如果= {1,2,5,6}且b = [0,7,3,9}然后mergeDict = {1,2,5,6,0,7,3,9}

小智 16

两种方式(假设Python 3.6):

  1. 使用"更新方法".假设有两个词典:

    >>> d1 = collections.OrderedDict([('a', 1), ('b', 2)])
    >>> d2 = {'c': 3, 'd': 4}
    >>> d1.update(d2)
    >>> d1
    OrderedDict([('a', 1), ('b', 2), ('c', 3), ('d', 4)])
    
    Run Code Online (Sandbox Code Playgroud)
  2. 使用'连接运算符(+)'的第二种方法

    >>> d1 = collections.OrderedDict([('a', 1), ('b', 2)])
    >>> d2 = {'c': 3, 'd': 4}
    >>> d3 = collections.OrderedDict(list(d1.items()) + list(d2.items()))
    >>> d3
    OrderedDict([('a', 1), ('b', 2), ('c', 3), ('d', 4)])
    
    Run Code Online (Sandbox Code Playgroud)


Nei*_*l G 6

from itertools import chain
from collections import OrderedDict
OrderedDict(chain(a.items(), b.items()))
Run Code Online (Sandbox Code Playgroud)