Mam dwie listy słowników i chciałbym znaleźć różnicę między nimi (tj. To, co istnieje na pierwszej liście, ale nie na drugiej, i to, co istnieje na drugiej liście, ale nie na pierwszej liście).Jak znaleźć różnicę między dwiema listami słowników?
Kwestia jest taka, że jest to lista słowników
a = [{'a': '1'}, {'c': '2'}]
b = [{'a': '1'}, {'b': '2'}]
set(a) - set(b)
Rezultatów
TypeError: unhashable type: 'dict'
pożądany rezultat:
{'c': '2'}
Jak to osiągnąć?
Czy Twoje słowniki są naprawdę tylko pojedynczymi przedmiotami? jeśli tak, czy nie ma sensu tworzenie listy w jednym słowniku? – cmd
nie, są to wielokrotne przedmioty (najprawdopodobniej około 15), a to byłaby lista około 3000 do 1000 rekordów na każdej liście. – Chris
Możesz sprawdzić pożądany wynik. Zgodnie z twoją definicją szukasz [różnicy symetrycznej] (http://en.wikipedia.org/wiki/Symmetric_difference) –