两个列表中的项目,我需要采取两个库,并筛选出的“垃圾”的项目,是无法识别的名字:删除匹配的类型的字典
data = [
{'annotation_id': 22, 'record_id': 5, 'name': 'Joe Young'},
{'annotation_id': 13, 'record_id': 7, 'name': '----'},
{'annotation_id': 12, 'record_id': 9, 'name': 'Greg Band'},
]
garbage = [
{'annotation_id': 13, 'record_id': 7, 'name': '----'}
]
因此,在这种情况下,我需要从数据删除annotation_id 13。
我试着迭代列表并删除它,但我明白,在python中不能很好地工作。我也尝试了一个列表理解,但也失败了。我做错了什么?我的代码如下:
data = [[item for item in data if item['name'] != g['name'] for g in garbage]
上面的代码创建了许多重复版本的字典。
什么是垃圾的标准?你在例子中显示的是否总是四个破折号? – idjaw
垃圾清单使用不同的功能创建,并包含许多不同的名称。 – Casey
'item ['name']!= g。['name']'应该是'item ['name']!= g ['name']'。在理解列表声明的开始处也只放一个方括号 – slackmart