Sobes.tech
Junior

Koji mogu biti ključevi u rečnicima u Pythonu?

sobes.tech АИ

Одговор од АИ

Ključevi u Python rečnicima mogu biti bilo koji nemodifikovani (hashable) objekti.

Nemodifikovani tipovi podataka uključuju:

  • Celi brojevi (int)
  • Brojevi sa pokretnom zarezom (float)
  • Nizovi (str)
  • Torke (tuple) koje sadrže samo nemodifikovane elemente
  • Boolean vrednosti (bool)
  • NoneType (None)
  • Frozenset (frozenset) koji sadrži samo nemodifikovane elemente

Primeri važećih ključeva:

# Važeći ključevi
my_dict = {
    1: "jedan",
    3.14: "pi",
    "ključ": "vrednost",
    (1, 2): "torka",
    True: "istina",
    None: "nema",
    frozenset({1, 2}): "nemodifikovani skup"
}

Nemodifikovani objekti imaju heš koji se koristi za brzu pretragu u rečniku.

Modifikovani tipovi podataka, poput lista (list), skupova (set) i drugih rečnika (dict), ne mogu biti ključevi jer se njihov sadržaj može promeniti, što bi narušilo integritet heša.

Primeri nevažećih ključeva:

# Nevažeći ključevi (dobiće TypeError)
# my_dict = {
#     [1, 2]: "lista",
#     {1, 2}: "skup",
#     {"a": 1}: "drugi rečnik"
# }