将带有字典的字典转换为具有相同键值对的列表

问题描述 投票:-2回答:1

我有字典,并且该字典中包含许多词典

例如

Dict_a = {'Dict1': {'name': 'Ali', 'age': 19},

        'Dict2': {'name': 'Bob', 'age': 21},

        'Dict2': {'name': 'Ali', 'age': 21}}

现在我想将这些字典转换成具有共同键值的字典,并放入一个列表中

Dict_b = {"distinct": [], "match": [[{'name': 'Ali', 'age': 19},

        {'name': 'Ali', 'age': 21}],

        [{'name': 'Bob', 'age': 21}]] }

有什么有效的方法吗?

python python-3.x dictionary
1个回答
0
投票

尝试这个:

payload = {}

for dict_name, value in Dict_a.items():
    if value["name"] in payload.keys():
        payload[value["name"]].append(value)
    else:
        payload[value["name"]] = [value]

Dict_b = {"distinct": [], "match": payload.values()}
© www.soinside.com 2019 - 2024. All rights reserved.