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"
# }