Sobes.tech
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"
# }