python - 从循环更新语句中组合字典
问题描述
这是我当前的代码
import copy
modes = ['dry', 'cool', 'heat']
result = {}
result['definition'] = [{'dtype': '', 'label': '', 'value': ''}]
for mode in modes:
for i in result['definition']:
for mode in modes:
ii = copy.deepcopy(i)
ii.update(dict(dtype='mode', label=mode, value=0))
print ii
这是我的结果
{'dtype': 'mode', 'value': 0, 'label': 'dry'}
{'dtype': 'mode', 'value': 0, 'label': 'cool'}
{'dtype': 'mode', 'value': 0, 'label': 'heat'}
我希望我的输出看起来像这样
result['definition'] = [{'dtype': 'mode', 'label': 'dry', 'value': 0},
{'dtype': 'mode', 'label': 'cool', 'value': 0},
{'dtype': 'mode', 'label': 'heat', 'value': 0}]
你能给我建议吗?提前致谢!:)
解决方案
试试这个
import copy
modes = ['dry', 'cool', 'heat']
result = {}
result['definition'] = [{'dtype': '', 'label': '', 'value': ''}]
result1 = dict()
result1 = {'definition':[]}
for i in result['definition']:
for mode in modes:
ii = copy.deepcopy(i)
ii.update(dict(dtype='mode', label=mode, value=0))
result1['definition'].append(ii)
print (result1['definition'])
推荐阅读
- java - 如何在 JTabbedPane 中更改选项卡时停止编辑 JTable 中的 JCombobox
- java - 在 TomEE 中使用 EJB 3.1 的推土机
- javascript - 鼠标悬停时停止横幅
- python - 无法通过 WMI 获取用于 Open Hardware Monitor 的传感器
- java - Arrayadapter 显示元素(不重复)在运行时出现的次数
- azure - Azure DevOps 是否可以获取每个用户的“克隆”、“分叉”和“下载为 ZIP”的历史记录?
- angular - 访问 Tabulator 以前使用 Angular 创建的表
- timescaledb - 是否可以从 Timescale 中的双时态表访问审计数据
- vb.net - VB.net yyyymmdd 格式需要解析为日期
- junit - 如何在为 Spring-ws 端点编写 Junit 时模拟服务类