How to merge multiple dicts with same key?

前端 未结 14 2627
别跟我提以往
别跟我提以往 2020-11-22 13:12

I have multiple dicts/key-value pairs like this:

d1 = {key1: x1, key2: y1}  
d2 = {key1: x2, key2: y2}  

I want the result to be a new di

14条回答
  •  南方客
    南方客 (楼主)
    2020-11-22 13:49

    assuming all keys are always present in all dicts:

    ds = [d1, d2]
    d = {}
    for k in d1.iterkeys():
        d[k] = tuple(d[k] for d in ds)
    

    Note: In Python 3.x use below code:

    ds = [d1, d2]
    d = {}
    for k in d1.keys():
      d[k] = tuple(d[k] for d in ds)
    

    and if the dic contain numpy arrays:

    ds = [d1, d2]
    d = {}
    for k in d1.keys():
      d[k] = np.concatenate(list(d[k] for d in ds))
    

提交回复
热议问题