Sobes.tech
Junior — Middle

Môže byť zoznam použitý ako kľúč pre slovník v Pythone?

sobes.tech AI

Odpoveď od AI

V Pythone sa zoznam (list) nemôže byť použitý ako kľúč slovníka, pretože je meniteľný a nie je hashovateľný objekt. Kľúče slovníka musia byť nezmeniteľné a hashovateľné (napríklad reťazce, čísla, n-tice s nezmeniteľnými prvkami).

Ak je potrebné použiť sekvenciu ako kľúč, môžete použiť n-ticu (tuple), ktorá je nezmeniteľná a hashovateľná:

my_dict = {}
key = (1, 2, 3)  # n-tica
my_dict[key] = "hodnota"
print(my_dict[(1, 2, 3)])  # vypíše "hodnota"

Pokus o použitie zoznamu spôsobí chybu:

my_dict = {}
key = [1, 2, 3]
my_dict[key] = "hodnota"  # TypeError: unhashable type: 'list'