字典列表

2024-04-19 21:20:18 发布

您现在位置:Python中文网/ 问答频道 /正文

我一直在寻找从字典列表中删除对象的解决方案。你知道吗

我有一个脚本,可以进行两个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']


Tags: 对象字符串脚本api列表字典devicelocation
1条回答
网友
1楼 · 发布于 2024-04-19 21:20:18

您有一个字典列表作为输入,所有的字典都带有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'}]

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

相关问题 更多 >