Junior
Python-da lüğətlərdə açarlar nə ola bilər?
sobes.tech Süni İntellekt
AI-dan cavab
Python lüğətlərində açarlar hər hansı dəyişməz (hashable) obyekt ola bilər.
Dəyişməz məlumat tiplərinə aşağıdakılar daxildir:
- Tam ədədlər (
int) - Onluq ədədlər (
float) - Sətirlər (
str) - Yalnız dəyişməz elementlərdən ibarət tuple (
tuple) - Boolean dəyərlər (
bool) - NoneType (
None) - Yalnız dəyişməz elementlərdən ibarət Frozenset (
frozenset)
Qəbul edilən açar nümunələri:
# Qəbul edilən açarlar
mənim_dict = {
1: "bir",
3.14: "pi",
"açar": "dəyər",
(1, 2): "tuple",
True: "doğru",
None: "yox",
frozenset({1, 2}): "dəyişməz dəst"
}
Dəyişməz obyektlərin hash dəyəri var və bu, sürətli axtarış üçün istifadə olunur.
Dəyişə bilən məlumat tipləri, məsələn, siyahılar (list), dəstlər (set) və digər lüğətlər (dict), açar kimi istifadə oluna bilməz, çünki onların məzmunu dəyişə bilər, bu da hash-in bütövlüyünü pozar.
Yanlış açar nümunələri:
# Yanlış açarlar (TypeError verəcək)
# mənim_dict = {
# [1, 2]: "siyahı",
# {1, 2}: "dəst",
# {"a": 1}: "başqa lüğət"
# }