兩個列表中的項目,我需要採取兩個庫,並篩選出的「垃圾」的項目,是無法識別的名字:刪除匹配的類型的字典
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