python - 如何使用列表列表和元组列表创建字典字典
问题描述
我想使用列表列表(距离)和元组列表(路由)创建字典结果。我可以做些什么来获取 Result 字典?
distance = [['167724.1407', '151859.5908', '150131.7254'],
['186216.5193', '170351.9694', '168624.1039']]
routes = [('A', 'ind1'), ('A', 'ind2'), ('A', 'ind3'),
('B', 'ind1'), ('B', 'ind2'), ('B', 'ind3')]
Result = {'A': {'ind1': '167724.1407', 'ind2': '151859.5908', 'ind3': '150131.7254' },
'B': {'ind1': '186216.5193', 'ind2': '170351.9694', 'ind3': '168624.1039' }}
[编辑] 我正在用 PULP 解决线性规划问题,所以 A 和 B 是仓库的名称,而 ind1、ind2、ind3 是商店的名称。
解决方案
您也可以使用itertools
, chain.from_iterable
+zip
from itertools import chain
result = {}
for (a,b), d in zip(routes, chain.from_iterable(distance)):
result.setdefault(a, {}).update({b: d})
{'A': {'ind1': '167724.1407', 'ind2': '151859.5908', 'ind3': '150131.7254'},
'B': {'ind1': '186216.5193', 'ind2': '170351.9694', 'ind3': '168624.1039'}}
推荐阅读
- docusignapi - 在 Docusign 中选择哪个 OAuth 流程:AuthCode 还是 JWT?
- flutter - Flutter 中的 Bloc Provider 和 Normal Provider 有什么区别?
- reactjs - Firestore 在 delete() 上创建和删除副本而不是删除原始文档
- python - 为什么我的警告命令会删除 .json 文件中的所有内容?(discord.py)
- excel - 使用 Excel 是否可以在不显式生成表格数据但仅使用公式的情况下绘制图表?
- typescript - 如何在 TS 中使用 AMD 模块在一个文件中包含非相对导入?
- java - 制作字符串序列
- python - Python matplotlib y 轴无法正常工作
- python - 如何向模型添加更多功能(标签)
- reactjs - 每月数据值,但希望每年显示 xticks chartJS