首页 > 解决方案 > 从值中删除字典作为字典中的列表?

问题描述

我需要从字典列表中删除字典作为值。

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'}]}

标签: pythonpython-3.x

解决方案


使用列表理解:

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'}]}

推荐阅读