Junior
Mik lehetnek a kulcsok Python szótárakban?
sobes.tech MI
Válasz az MI-től
A Python szótárak kulcsai bármilyen változatlan (hashable) objektumok lehetnek.
A változatlan adattípusok közé tartoznak:
- Egész számok (
int) - Lebegőpontos számok (
float) - Szövegek (
str) - Csak változatlan elemeket tartalmazó tuple (
tuple) - Logikai értékek (
bool) - NoneType (
None) - Frozenset (
frozenset), amely csak változatlan elemeket tartalmaz
Érvényes kulcs példák:
# Érvényes kulcsok
my_dict = {
1: "egy",
3.14: "pi",
"kulcs": "érték",
(1, 2): "tuple",
True: "igaz",
None: "nincs",
frozenset({1, 2}): "változatlan halmaz"
}
A változatlan objektumoknak van egy hash értékük, amit gyors keresésre használnak a szótárban.
A változtatható típusok, mint például listák (list), halmazok (set) és más szótárak (dict), nem használhatók kulcsként, mert tartalmuk változhat, ami megzavarná a hash integritását.
Érvénytelen kulcs példák:
# Érvénytelen kulcsok (TypeError-t eredményez)
# my_dict = {
# [1, 2]: "lista",
# {1, 2}: "halmaz",
# {"a": 1}: "másik szótár"
# }