Middle
Python'da dict-də açarlar üçün hansı məhdudiyyətlər var?
sobes.tech Süni İntellekt
AI-dan cavab
Python-da, lüğət (dict) içindəki açarlar hash edilə bilən (dəyişməz) obyektlər olmalıdır. Bu, açarların dəyişməz vəziyyətdə olması və __hash__() metodunu həyata keçirməsi deməkdir.
Əsas məhdudiyyətlər:
- Açarlar dəyişməz tiplər olmalıdır, məsələn: sətirlər (
str), ədədlər (int,float), tuple-lər (tuple), və tuple elementlərinin də hash edilə bilən olması şərti ilə. - Listələr (
list), dəstlər (set), sözlüklər (dict) kimi dəyişən tiplər açar kimi istifadə edilə bilməz, çünki onlar hash edilə bilməz.
Nümunə:
valid_dict = {
"key": 1,
42: "value",
(1, 2): "tuple key"
}
invalid_dict = {
[1, 2]: "list as key" # TypeError verəcək
}
Əgər dəyişən obyekt istifadə etməyə çalışsanız, Python TypeError: unhashable type xətası verəcək.