-
守着一只汪
使用遍历list2检查idwith ids in的列表理解list1:list1 = [ {'name': "Maria", 'id': "16a", }, {'name': "Tania", 'id': "13b", }, {'name': "Steve", 'id': "5a", }]list2 = [ {'name': "Eric", 'id': "16a", }, {'name': "Mike", 'id': "7b", }, {'name': "Steve", 'id': "57a", }]list1_ids = [y['id'] for y in list1]result = [x for x in list2 if x['id'] not in list1_ids]# [{'name': 'Mike', 'id': '7b'}, {'name': 'Steve', 'id': '57a'}]
-
汪汪一只猫
这应该做:[d2 for d2 in list2 if d2['id'] not in [d1['id'] for d1 in list1]]输出:[{'id': '7b', 'name': 'Mike'}, {'id': '57a', 'name': 'Steve'}]
-
缥缈止盈
您也可以使用filter功能来做到这一点:list1 = [ {"name": "Maria", "id": "16a", }, {"name": "Tania", "id": "13b", }, {"name": "Steve", "id": "5a", }]list2 = [ {"name": "Eric", "id": "16a", }, {"name": "Mike", "id": "7b", }, {"name": "Steve", "id": "57a", }]IDs = set(value["id"] for value in list1)output = list(filter(lambda elem: elem["id"] not in IDs, list2))print(output)输出:[{'name': 'Mike', 'id': '7b'}, {'name': 'Steve', 'id': '57a'}]