python - 将带有字典的字典转换为具有相同键值对的列表
问题描述
我有字典,并且在该字典中包含许多字典
例如
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}]] }
有没有有效的方法来做到这一点?
解决方案
试试这个:
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()}
推荐阅读
- powershell - 使用 Powershell 获取 IIS 应用程序池 ProcessID
- sql - SQL:groupby忽略null并选择最新值时如何聚合列
- java - 递归查找一个数是否是另一个数的幂
- kotlin - 是否可以在 Kotlin 中做可变参数模板?
- php - 在正则表达式匹配中包含以下行
- c - Heltec Esp32 DAC 写入
- python-3.x - 在 Python 3.6 中使用列表定义自定义类型提示
- python - 从 Python 中的函数返回布尔值时出现意外结果
- reactjs - 如何创建使用 cookie 和服务器端呈现的持久状态挂钩?
- qt - 需要 QAbstractScrollArea 指导