Middle
Python lüğətində açarların niyə dəyişməz olması lazımdır və dəyişkən açarlar istifadə oluna bilərmi?
sobes.tech Süni İntellekt
AI-dan cavab
Python lüğətində açarlar dəyişməz olmalıdır, çünki lüğət sürətli giriş üçün hashing istifadə edir. Əgər açar dəyişkəndirsə, onun hash dəyəri lüğətə əlavə edildikdən sonra dəyişə bilər, bu da həmin açarı və ona uyğun dəyəri tapmağı mümkünsüz edir.
Məsələn, sətirlər, ədədlər və dəyişməz elementlərdən ibarət tuple-lər (tuples) uyğun açarlardır, çünki onların hash dəyəri dəyişmir.
Dəyişkən açarlar (məsələn, siyahılar və ya lüğətlər) istifadə edilə bilməz, çünki onların sabit hash dəyəri yoxdur və hash() metodunu dəstəkləmir. Dəyişkən obyekt kimi açar istifadə etməyə cəhd TypeError xətasına səbəb olar.
Nümunə:
my_dict = {}
my_dict[[1, 2, 3]] = "value" # TypeError: unhashable type: 'list'
Beləliklə, açarların dəyişməzliyi lüğətin hash cədvəlinin düzgün işləməsini təmin edir.