列表迭代 - 字典列表

我一直在寻找从字典列表中删除对象的解决方案方面遇到挑战。

我有一个进行两次 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']


慕姐8265434
浏览 134回答 1
1回答

哈士奇WWW

你有一个字典列表作为输入,所有的都带有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'}]如果需要,您可以将其直接分配回原始列表名称。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python