Как написать код ниже, используя словарь - PullRequest
0 голосов
/ 07 апреля 2020

Нужна помощь для оптимизации кода ниже 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 Ответ

1 голос
/ 07 апреля 2020

Вы можете попробовать это

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') результатов. Все они имеют одинаковые результаты * 1005. *

...