Sobes.tech
Junior

Kādi var būt atslēgas Python vārdnīcās?

sobes.tech AI

Atbilde no AI

Python vārdnīcu atslēgas var būt jebkuri nemaināmi (hashable) objekti.

Nemaināmi datu tipi ietver:

  • Veselos skaitļus (int)
  • Decimāldaļu skaitļus (float)
  • Rindas (str)
  • Tikai nemaināmas elementu kopas (tuple), kas satur tikai nemaināmus elementus
  • Boolea vērtības (bool)
  • NoneType (None)
  • Frozenset (frozenset), kas satur tikai nemaināmus elementus

Piemēri derīgām atslēgām:

# Derīgas atslēgas
mans_vardn = {
    1: "viens",
    3.14: "pi",
    "atslēga": "vērtība",
    (1, 2): "tupelis",
    True: "patiesība",
    None: "nav",
    frozenset({1, 2}): "nemaināma kopa"
}

Nemaināmi objekti ir ar hash, kas tiek izmantots ātrai meklēšanai vārdnīcā.

Maināmi datu tipi, piemēram, saraksti (list), kopas (set) un citi vārdnīcas (dict), nevar būt atslēgas, jo to saturs var mainīties, kas bojā hash integritāti.

Nepareizi piemēri:

# Nepareizas atslēgas (radīs TypeError)
# mans_vardn = {
#     [1, 2]: "saraksts",
#     {1, 2}: "kopa",
#     {"a": 1}: "cits vārdnīca"
# }