繁体   English   中英

列表迭代-词典列表

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM