Sobes.tech
Junior

Aké môžu byť kľúče v slovníkoch v Pythone?

sobes.tech AI

Odpoveď od AI

Kľúče v slovníkoch Python môžu byť akékoľvek nemenné (hashable) objekty.

Nemenné typy údajov zahŕňajú:

  • Celé čísla (int)
  • Čísla s pohyblivou desatinnou čiarkou (float)
  • Reťazce (str)
  • N-tice (tuple), ktoré obsahujú iba nemenné prvky
  • Boolovské hodnoty (bool)
  • NoneType (None)
  • Frozenset (frozenset), ktorý obsahuje iba nemenné prvky

Príklady platných kľúčov:

# Platné kľúče
môj_dictionár = {
    1: "jeden",
    3.14: "pi",
    "kľúč": "hodnota",
    (1, 2): "n-tica",
    True: "pravda",
    None: "nič",
    frozenset({1, 2}): "nemenná množina"
}

Nemenné objekty majú hash, ktorý sa používa na rýchle vyhľadávanie v slovníku.

Menné typy údajov, ako sú zoznamy (list), množiny (set) a iné slovníky (dict), nemôžu byť kľúčmi, pretože ich obsah sa môže zmeniť, čo by narušilo integritu hash.

Príklady neplatných kľúčov:

# Neplatné kľúče (vyvolá TypeError)
# môj_dictionár = {
#     [1, 2]: "zoznam",
#     {1, 2}: "množina",
#     {"a": 1}: "iný slovník"
# }