python - 从字典键、子键和值的列表构造字典
问题描述
有一个字典列表:
list_dict = [['key1', {'subkey1': 0}],
['key1', {'subkey2': 2}],
['key1', {'subkey5': 5}],
['key2', {'subkey2': 4}],
['key2', {'subkey1': 8}],
['key1', {'sybkey5': 10}]]
怎样才能list_dict
转换成一个整洁的字典如下?
{'key1': {'subkey1': 0, 'subkey2': 2, 'subkey5': 5},
'key2': {'subkey2': 4, 'subkey1': 8, 'sybkey5': 10}}
解决方案
以下应该有效:
d = dict()
for item in list_dict:
d.setdefault(item[0], {}).update(item[1])
来自Python 3 文档:
设置默认(键[,默认])
如果键在字典中,则返回其值。如果不是,则插入值为默认值的键并返回默认值。默认默认为无。
推荐阅读
- angular - HYBRIS:与 Hybris 的角度集成
- regex - 通过从事件标签值中提取字符串的 Google Data Studio 计算字段
- sql-server-2016 - 逻辑应用程序 - 执行 SQL Server 存储过程的错误网关 502
- amazon-web-services - 当需要密码时,如何在 AWS Ubuntu 中运行 systemctl restart apache2
- asp.net-mvc - 如何在 _layout.cshtml 中为不同区域动态渲染局部视图?
- c# - 在统一中,probuilder 立方体 transform.position 中心与普通立方体不同
- reactjs - React Native flexDirection 动画
- c++ - 具有捕获引用的长寿命(非本地)lambda
- html - 为什么我在 Chrome 中的视频会出现此错误显示?
- postgresql - 将数据从 clickhouse 传输到在不同机器上运行的 PostgreSQL