Junior
Kokie gali būti raktai Python žodynuose?
sobes.tech AI
Atsakymas iš AI
Python žodynų raktai gali būti bet kokie nepakitę (hashable) objektai.
Nepakeičiamų duomenų tipai apima:
- Sveikus skaičius (
int) - Slankiojuosius taškus (
float) - Eilutes (
str) - Tarpus (
tuple), kurie turi tik nepakeičiamus elementus - Boolean reikšmes (
bool) - NoneType (
None) - Frozenset (
frozenset), kuris turi tik nepakeičiamus elementus
Pavyzdžiai galimų raktų:
# Galimi raktai
mano_dict = {
1: "vienas",
3.14: "pi",
"raktas": "reikšmė",
(1, 2): "tarpas",
True: "teisinga",
None: "nėra",
frozenset({1, 2}): "nepakitęs rinkinys"
}
Nepakeičiamieji objektai turi hash, kuris naudojamas greitam paieškai žodyne.
Keičiamų duomenų tipai, tokie kaip sąrašai (list), rinkiniai (set) ir kiti žodynai (dict), negali būti raktai, nes jų turinys gali keistis, kas pažeistų hash vientisumą.
Neteisingi pavyzdžiai:
# Neteisingi raktai (sukels TypeError)
# mano_dict = {
# [1, 2]: "sąrašas",
# {1, 2}: "rinkinys",
# {"a": 1}: "kitas žodynas"
# }