首页 > 解决方案 > 如何使用字典理解编写以下代码

问题描述

需要帮助使用字典理解来优化下面的 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)```

标签: pythonlistdictionaryoptimizationdictionary-comprehension

解决方案


你可以试试这个

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')结果,它们都具有相同的结果


推荐阅读