Sobes.tech
Middle

Koja su ograničenja na ključeve u dict u Pythonu?

sobes.tech АИ

Одговор од АИ

U Python-u, ključevi u rečniku (dict) moraju biti objekti koji se mogu hash-ovati (nepromenljivi). To znači da ključevi moraju imati nepromenljivo stanje i implementirati metodu __hash__().

Glavna ograničenja:

  • Ključevi moraju biti nepromenljivi tipovi, na primer: stringovi (str), brojevi (int, float), tuple-ovi (tuple), pod uslovom da su svi elementi tuple-a takođe hash-abilni.
  • Ne smeju se koristiti promenljivi tipovi, poput listi (list), skupovi (set), rečnici (dict) kao ključevi, jer nisu hash-abilni.

Primer:

valid_dict = {
    "key": 1,
    42: "value",
    (1, 2): "tuple key"
}

invalid_dict = {
    [1, 2]: "list as key"  # izazvaće TypeError
}

Ako pokušate da koristite promenljivi objekat kao ključ, Python će baciti grešku TypeError: unhashable type.