Я пытаюсь найти способ сравнения объектов в наборах, чтобы оператор & правильно работал с ними.
Я пытался найти исходники для функции Set intersect()
, но безнадежно. Я пытался перегрузить оператор equals, но когда я добавил функцию __eq__()
в определение класса, объекты Person стали недоступными.
class Person:
def __init__(self, dictionary):
self.dictionary = dictionary
def foo1():
first_set.add(Person({"age" : 20}))
def foo2():
second_set.add(Person({"age" : 20}))
first_set = set()
second_set = set()
foo1()
foo2()
print(first_set)
print(second_set)
print(first_set & second_set) # I'd like to get non-empty intersection here
Я думал, что это может работать как-то с перегрузкой __eq__()
, но это невозможно.