我如何使用字典理解来编写以下代码

时间:2020-04-07 12:23:42

标签: python list dictionary optimization dictionary-comprehension

需要使用字典理解来帮助优化以下python代码。如何使用python特殊功能修改代码

        container_status = {}
        active=[]
        inactive=[]
        not_found=[]
        if containers:
            for container in containers:
                inspect_dict = cli.inspect_container(container)
                state = inspect_dict['State']
                is_running = state['Status'] == 'running'
                if is_running:
                    active.append(container)
                else:
                    inactive.append(container)        
            container_status= {'active':active,'inactive':inactive,'not_found':not_found }     
            print(container_status)```

1 个答案:

答案 0 :(得分:1)

您可以尝试

container_status = {}
active=[]
inactive=[]
not_found=[]
inspect_dict = cli.inspect_container('festive_bell')
if containers:              
    ls_to_append = active if inspect_dict['State']['Status'] == 'running' else inactive
    for container in containers:
        ls_to_append.append(container)
    container_status= {'active':active,'inactive':inactive,'not_found':not_found }     
    print(container_status)

请注意,每次运行都会将所有容器显示为活动或不活动,因为这取决于cli.inspect_container('festive_bell')结果,所有容器的结果都相同