У меня есть два списка словарей
list1 = [ {..}, {..}, ..]
list2 = [ {..}, {..}, ..]
Я хочу удалить словари из списка1, которые есть в списке2. У меня была похожая проблема, когда вместо словаря у меня был список списков, и он решается здесь
Функция Python замедляется без видимой причины
Если я использую тот же код, который
def removeDups(list1, list2):
list2_set = set([tuple(x) for x in list2])
diff = [x for x in list1 if tuple(x) not in list2_set]
return diff
Я не получаю правильных результатов, так как словари типа
{key1:'a', key2:'b'} and
{key2:'b', key1:'a'}
которые одинаковы, на самом деле считаются разными. Как я могу изменить код или как удалить словари из списка1, которые появляются в списке2?