Назад к задачам
Junior — Senior
6

Поведение dict при ключах без переопределённого __eq__

Получайте помощь с лайвкодингом в реальном времени с Sobes Copilot
Условие задачи

Как будет работать словарь, если в качестве ключей использовать экземпляры пользовательского класса HashList, реализующего только метод __hash__, а метод __eq__ оставлен без переопределения?

from typing import Any

class HashList:
    def __init__(self, data: list[int]) -> None:
        self._data = data

    def __hash__(self) -> int:
        return hash(sum(self._data))

l1 = HashList([1, 2, 3])
l2 = HashList([5, 1, 0])

d1 = {
    l1: "l1",
    l2: "l2",
}

print(d1)