在 python 中添加基于半列的​​列表的多个字典

Adding multiple dictionaries of list based on semi column in python

我有资料

data = [{'name': 'Dave', 'role': 'Manager'}, {'name': 'David', 'role': 'Engineer'}]

我打算添加基于相同键的值并用分号合并。 预期输出如下

{'name': 'Dave;David', 'role': 'Manager;Engineer'}

我想做的是转换成矩阵,然后根据索引添加所有元素,但这是非常乏味的方法。

result = [[i[e] for e in sorted(i.keys())] for i in data]
print(result)
current output: [['Dave', 'Manager'], ['David', 'Engineer']]

假设数据总是包含字符串字典,下面就是你想要的。

我正在检查每个字典键是否已存在于最终字典中。如果没有,我添加它,如果有,我使用分号作为分隔符将它附加到当前值。

data = [{'name': 'Dave', 'role': 'Manager'}, {'name': 'David', 'role': 'Engineer'}]

final = {}
for dict in data:
    for k,v in dict.items():
        if k in final:
            final[k] += ';' + v
        else:
            final[k] = v

print(final)