-1
x=[{'a':1,'b':2},{'a':6,'b':5},{'a':3,'b':4}]
y={'a':[1,6,3],'b':[2,5,4]}

x 是一个字典列表,其中所有字典都有相同的键,现在我想将值合并到一个列表中,如示例所示,是否有快速实现?

4

1 回答 1

1

如果保证所有 dictsx具有相同的键,你可以这样做:

y = {k: [d[k] for d in x] for k in d[0]}

如果没有,你必须先找到它们的联合,

keys = {k for d in x for k in d.keys()}

然后迭代它。

y = {k: [d[k] for d in x if k in d] for k in keys}

更详细,你可以写:

y = dict()
for d in x:
    for k, v in d.items():
        y.setdefault(k, []).append(v)
于 2019-12-10T02:58:01.507 回答