为了账号安全,请及时绑定邮箱和手机立即绑定

列表迭代 - 字典列表

列表迭代 - 字典列表

慕姐8265434 2021-09-14 16:30:59
我一直在寻找从字典列表中删除对象的解决方案方面遇到挑战。我有一个进行两次 API 调用的脚本;一个收集位置列表,一个收集设备列表。我使用设备列表生成一个变量用作搜索块,这很好用。我面临的挑战是从位置列表中删除项目。我无法干净地移除该对象。locationGroup = [{'URI': '/devce/33333', 'description': 'unique-location-2'}, {'URI': '/device/40593', 'description': 'unique-location-3'}, {'URI': '/device/50799', 'description': 'unique-location-7'}我的搜索字符串是不完整的,但我需要能够根据描述删除字典。我能够生成的示例字符串是location-7我已经使用去除尝试不同的变化del,并.remove()没有成功。例如。locationGroup['description'].remove(location-7)也del locationGroup['location-7']
查看完整描述

1 回答

?
哈士奇WWW

TA贡献1799条经验 获得超6个赞

你有一个字典列表作为输入,所有的都带有description键。您只想保留对应的值description没有特定子字符串的字典


因此,不要尝试就地编辑列表,只需在列表理解中使用过滤器重建新的字典列表:


locationGroup = [{'URI': '/devce/33333', 'description': 'unique-location-2'}, {'URI': '/device/40593', 'description': 'unique-location-3'}, {'URI': '/device/50799', 'description': 'unique-location-7'}]


result = [x for x in locationGroup if "location-7" not in x["description"]]


>>> result

[{'URI': '/devce/33333', 'description': 'unique-location-2'},

 {'URI': '/device/40593', 'description': 'unique-location-3'}]

如果需要,您可以将其直接分配回原始列表名称。


查看完整回答
反对 回复 2021-09-14
  • 1 回答
  • 0 关注
  • 132 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信