Как объединить список dict с одинаковыми ключами? - PullRequest
1 голос
/ 05 июля 2019

У меня есть список:

list=[{'Query': 'documents'}, {'entity': 'a'}, {'value': 'b'}, {'entity': 'c'}, {'value': 'd'}, {'records':21}]

Я хочу следующие o / p:

d={'Query': ['documents'],'entity': ['a','c'],'value': ['b','d'],'records':[21]}

1 Ответ

0 голосов
/ 05 июля 2019

попробуйте этот код:

list=[{'Query': 'documents'}, {'entity': 'a'}, {'value': 'b'}, {'entity': 'c'}, {'value': 'd'}, {'records':21}]
d={}
for i in list :
    for j,k in i.items():
        l = []
        if j in d:
            l = d[j]
            l.append(k)
            d[j] = l
        else:
            l.append(str(k))
            d[j]=l
print(d)

выход:

{'records': ['21'], 'value': ['b', 'd'], 'entity': ['a', 'c'], 'Query': ['documents']}
...