Middle
Milyen korlátozások vannak a kulcsokra a dict-ben Pythonban?
sobes.tech MI
Válasz az MI-től
Pythonban a szótár (dict) kulcsainak hash-elhető (immutable) objektumoknak kell lenniük. Ez azt jelenti, hogy a kulcsoknak változatlan állapotban kell lenniük, és meg kell valósítaniuk a __hash__() metódust.
Fő korlátozások:
- A kulcsoknak immutábilis típusoknak kell lenniük, például: szövegek (
str), számok (int,float), tuple-ök (tuple), feltéve, hogy a tuple összes eleme is hash-elhető. - Nem lehet változtatható típusokat, például listákat (
list), halmazokat (set), szótárakat (dict) kulcsként használni, mivel ezek nem hash-elhetők.
Példa:
valid_dict = {
"key": 1,
42: "value",
(1, 2): "tuple key"
}
invalid_dict = {
[1, 2]: "list as key" # TypeError-t fog eredményezni
}
Ha megpróbálsz egy változtatható objektumot kulcsként használni, a Python TypeError: unhashable type hibát fog adni.