python - 如何使用字典理解编写以下代码
问题描述
需要帮助使用字典理解来优化下面的 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)```
解决方案
你可以试试这个
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')
结果,它们都具有相同的结果
推荐阅读
- javascript - 如何在javascript中为此设置正则表达式?
- javascript - 为什么回调地狱有效而 async/await 无效?(在我正在测试的这种特殊情况下)
- typescript - 如何从同一个 Typescript 文件中导入和导出一个类?
- rest - Chrome 将 INR 转换为 USD
- database - 由于密码错误,mySql Workbench 未启动
- json - 在 ReactJS 中显示嵌套的 Json 数据
- vue.js - Nuxt 开发服务器中间件`nuxt dev`
- ruby-on-rails - Sidekiq/Redis/Rails - 发送在分支上工作,但现在不会在开发中交付
- c# - 如何在 C# 中将父级转换为子级
- python - Discord Python Webhook Bot 不断发送额外的响应消息