Tôi có hai danh sách từ điển và tôi muốn tìm sự khác biệt giữa chúng (tức là những gì tồn tại trong danh sách đầu tiên nhưng không phải thứ hai, và những gì tồn tại trong danh sách thứ hai nhưng không phải là danh sách đầu tiên).Làm cách nào để tìm sự khác biệt giữa hai danh sách từ điển?
Vấn đề là nó là một danh sách các từ điển
a = [{'a': '1'}, {'c': '2'}]
b = [{'a': '1'}, {'b': '2'}]
set(a) - set(b)
quả
TypeError: unhashable type: 'dict'
mong muốn Kết quả:
{'c': '2'}
Làm thế nào để thực hiện điều này?
là từ điển của bạn thực sự chỉ là các mục duy nhất? nếu vậy, sẽ không có ý nghĩa hơn để làm cho danh sách thành một từ điển duy nhất? – cmd
nope, chúng là nhiều mục (khoảng 15 mỗi khả năng nhất) và đây sẽ là danh sách khoảng 3000 đến 1000 chế độ độc tài trong mỗi danh sách – Chris
Bạn có thể kiểm tra kết quả mong muốn của mình không. Theo định nghĩa của bạn, bạn đang tìm kiếm một [sự khác biệt đối xứng] (http://en.wikipedia.org/wiki/Symmetric_difference) –