python - 从值中删除字典作为字典中的列表?
问题描述
我需要从字典列表中删除字典作为值。
d = {"monitors": [{"name": "monitor1", "ip": "0.0.0.0"},
{"name": "monitor2", "ip": "1.1.1.1"}]}
for value in d["monitors"]:
if value["name"] == "monitor1":
# delete {"name": "monitor1", "ip": "0.0.0.0"}
print(d)
结果必须是:{'monitors': [{'name': 'monitor2', 'ip': '1.1.1.1'}]}
解决方案
使用列表理解:
d = {"monitors": [{"name": "monitor1", "ip": "0.0.0.0"},
{"name": "monitor2", "ip": "1.1.1.1"}]}
d['monitors'] = [i for i in d['monitors'] if i['name'] != 'monitor1']
print(d)
印刷:
{'monitors': [{'ip': '1.1.1.1', 'name': 'monitor2'}]}
推荐阅读
- email - 我没有收到来自 .media 域的电子邮件
- python-3.x - 类由空格分隔的四个部分组成
- amazon-web-services - 管理多个 AWS 控制台登录
- ios - 无法更新手表 OS 4 中的复杂功能
- jquery - 如何检查最小金额小于最大金额?
- javascript - 我如何在 React 的卸载组件中设置状态
- rxjs - Angular 5 - 订阅行为主题时的问题
- performance - 在“from table1, table2 where table1.id = table2.id”构造中使用左连接的任何选项?
- java - 泛型调用不同类中的方法,但具有相同的方法签名
- c++ - C++ 函数在 while(GetMessage(...)){...} 中不起作用