Junior
Pythonдеги сөздүктөрдөгү ачкычтар кандай болушу мүмкүн?
sobes.tech AI
AIден жооп
Python sözlüklə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) - Frozenset (
frozenset) yalnız dəyişməz elementlərdən ibarətdir
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": "qiymət",
(1, 2): "tuple",
True: "doğru",
None: "yox",
frozenset({1, 2}): "dəyişməz to'plam"
}
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), to'plamlar (set) və digər sözlüklə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 çıxarır)
# mənim_dict = {
# [1, 2]: "siyahı",
# {1, 2}: "to'plam",
# {"a": 1}: "başqa sözlük"
# }