[英]List Iteration - List of Dictionaries
我一直在寻找从字典列表中删除对象的解决方案方面遇到挑战。
我有一个脚本可以进行两个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()
进行del
各种变化,但均未成功。 例如。 locationGroup['description'].remove(location-7)
以及del locationGroup['location-7']
您有一个字典列表作为输入,全部带有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'}]
您可以根据需要将其直接分配回原始列表名称。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.