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.