python - 如何将字典列表转换为以组合元组为键的多个字典?
问题描述
我有一个看起来像这样的字典
[{'2013-01': 0.4,
'2013-02': 0.5,
'id': 1},
{'2013-01': 0.1,
'2013-02': 0.4,
'id': 2},]
我如何转换它是这样的:
Format: {('yyyy-mm', id): value}
{('2013-01', 1): 0.4,
('2013-02', 1): 0.5,
('2013-01', 2): 0.1,
('2013-01', 2): 0.4
}
解决方案
遍历字典列表:
res = {}
for d in d_list:
id_ = d.pop('id')
for k, v in d.items():
res[(k, id_)] = v
或者用听写理解,稍微简洁一点:
res = {}
for d in d_list:
id_ = d.pop('id')
res.update({(k, id_): v for k, v in d.items()})
推荐阅读
- c++ - 启动 C++ 程序后运行多少个后台线程
- ocelot - 如何通过RouteClaimsRequirement允许多个角色访问路由
- ios - XCode(错误?)(SwiftUI):我的视图不是从屏幕边缘进入,而是在它们所在的位置缩放和更改不透明度
- java - Android RecyclerAdapter onBindViewHolder 无法访问 ui 元素
- css - 用 css 调整 c3 轴标签
- mysql - 在 mySQL 和 Python 中选择具有最多特定值条目的列
- html - 联系表格不正确 - HTML/CSS
- visual-studio-code - 发生异常:SessionCloseError
- typescript - 在 Typescript 中,如何将接口的键映射到特定字符串的数组中?
- node.js - 提交更改时 Gitlab CI/CD 挂起