Встречается на собеседованиях • сегодня
Как сравнить два объекта, если они переданы в виде edge
Для сравнения объектов в Python можно использовать операторы == и is, но их поведение зависит от типа объектов и реализации __eq__.
Если объекты переданы как edge (например, в графах или структурах данных), важно учитывать их содержимое.
Пример:
python
class Edge:
def __init__(self, u, v):
self.u = u
self.v = v
text
def __eq__(self, other):
if not isinstance(other, Edge):
return False
return (self.u == other.u and self.v == other.v) or (self.u == other.v and self.v == other.u)text
Здесь `__eq__` проверяет, являются ли два ребра одинаковыми (с учетом направления).
**Использование:**
```python
edge1 = Edge(1, 2)
edge2 = Edge(2, 1)
print(edge1 == edge2) # TrueЕсли ребра должны быть строго упорядочены, уберите or в __eq__. Для хеширования в множествах или словарях также нужно реализовать __hash__.

Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы