首页 > 解决方案 > 从循环更新语句中组合字典

问题描述

这是我当前的代码

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}]

你能给我建议吗?提前致谢!:)

标签: pythonpython-3.xlistpython-2.7

解决方案


试试这个

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'])

推荐阅读