使用for和if循环创建嵌套字典

2024-10-04 07:33:26 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在创建嵌套字典。有人能帮忙吗

for key,values in hostwise.iteritems():
    values.sort(key=lambda x: x.execution_time)
    for plugin in values:
        plugin_wise = {}
        if plugin.name not in plugin_wise.keys():
            plugin_wise[plugin.name] = {}
            if plugin.status == 'Submitplugin':
                plugin_wise[plugin.name]['Submitplugin'] = plugin.execution_time
            elif plugin.status == 'Pluginsucceeded':
                plugin_wise[plugin.name]['Pluginsucceeded'] = plugin.execution_time
        else:
            if plugin.status == 'Submitplugin':
                plugin_wise.update({plugin.name: {'Submitplugin': plugin.execution_time}})
                #plugin_wise[plugin.name]['Submitplugin'] = plugin.execution_time
            elif plugin.status == 'Pluginsucceeded':
                plugin_wise.update({plugin.name: {'Pluginsucceeded': plugin.execution_time}})
                #plugin_wise[plugin.name]['Pluginsucceeded'] = plugin.execution_time
{‘UpgradeOptional’: {‘Pluginsucceeded’: ‘2020-06-06T12:00:09’}}
{‘UpgradeOptional’: {‘Submitplugin’: ‘2020-06-06T12:00:03’}}

比如说。上面的输出不是我期望的…我想要下面的方式。有什么想法吗

{‘UpgradeOptional’: 
    {‘Pluginsucceeded’: ‘2020-06-06T12:00:09’,‘Submitplugin’: ‘2020-06-06T12:00:03’}}

Tags: keynameinforiftimestatusplugin
2条回答

我认为你注释掉的部分应该有用

试试这个

plugin_wise[plugin.name].update({'Submitplugin':plugin.execution_time})

plugin_-wise[plugin.name].update({'pluginsuccessed':plugin.execution_-time})

相关问题 更多 >