Sobes.tech
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"
# }