2.1 Elementlərin sayını almaq
Python-da sözlükdə olan elementlərin sayını almaq üçün daxili len()
funksiyası istifadə olunur. Bu funksiya sözlükdəki cütlüklərin sayını – açar-dəyər – qaytarır. Və ya istəsəniz, yalnız açarların sayını desək də olar.
Funksiyanın istifadə nümunəsi:
person = {"name": "Alice", "age": 25, "city": "New York"}
num_elements = len(person)
print(num_elements) # Çıxış: 3
Bu nümunədə bizdə 3 elementli person
adlı sözlük var. len(person)
funksiyası sözlükdəki elementlərin sayını – 3 – qaytarır.
Sözlüyün boşluğunu yoxlamaq
Siz sözlüyün boşluğunu yoxlamaq üçün len()
funksiyasını istifadə edə bilərsiniz. Bu, şərtlər və döngələr zamanı faydalıdır.
empty_dict = {}
print(len(empty_dict)) # Çıxış: 0
person = {"name": "Alice", "age": 25, "city": "New York"}
if len(person) > 0:
print("Sözlük boş deyil")
else:
print("Sözlük boşdur")
Daxili strukturlu sözlük
len()
funksiyası yalnız yuxarı səviyyəli açarların sayını nəzərə alır, nə qədər ki, dəyər olaraq nə verildiyinə baxmayaraq.
complex_dict = {
name: "Alice",
details: {
age: 25,
city: "New York"
},
hobbies: ["reading", "traveling"]
}
print(len(complex_dict)) # Çıxış: 3
Bu nümunədə bizdə daxili strukturları olan bir sözlük var. len(complex_dict)
3 qaytarır, çünki yuxarı səviyyədə üç açar var: "name", "details" və "hobbies".
len()
daxil edilmiş strukturların içindəki açarları diqqətə almır, məsələn, "age" və "city" "details" adlı sözlükdəki açarları. Çünki len()
yalnız yuxarı səviyyəli açarları sayır. Əgər bütün elementlərin, daxil edilmiş strukturlar da daxil olmaqla, sayını hesablamaq lazım olsa, rekursiv metod istifadə etmək lazım olacaq. Amma bu gün deyil.
2.2 Tipin təyin edilməsi
Python-da type()
funksiyası obyektdə tipin müəyyənləşdirilməsi üçün istifadə olunur. Sözlüklərlə iş zamanı type()
obyektin dict
sinfinin nümunəsi olduğunu müəyyən etmək üçün istifadə edilə bilər. Bu müxtəlif ssenarilərdə, məsələn, sözlükdə əməliyyat etməzdən əvvəl məlumat tipini yoxlamaq üçün faydalıdır.
İstifadə nümunələri:
Obyektin tipinin yoxlanılması
person = {"name": "Alice", "age": 25, "city": "New York"}
print(type(person)) # Çıxış: <class 'dict'>
Bu nümunədə biz person
adlı sözlük yaradırıq və type
istifadə edərək onun tipini müəyyənləşdiririk. Funksiya <class 'dict'>
qaytarır, göstərir ki, person
sözlükdür.
Məlumat tipinin şərti yoxlanması
type()
funksiyası şərti ifadələrdə məlumat tipini yoxlamaq üçün istifadə edilə bilər, bu isə yalnız dict
tipli obyektlər üçün müəyyən əməliyyatları yerinə yetirməyə imkan verir.
data = {"name": "Alice", "age": 25, "city": "New York"}
if type(data) is dict:
print("Bu sözlükdür.")
else:
print("Bu sözlük deyil.")
Bu nümunədə şərti ifadə data
-nın sözlük olduğunu yoxlayır və uyğun kodu icra edir.
type()
funksiyası istifadəçi funksiyaları daxilində arqumentlərin tipinin yoxlanması üçün istifadə edilə bilər, bu isə funksiyanın doğru məlumat tipini emal etməsini təmin edir.
Nümunə:
def process_data(data):
if type(data) is dict:
print("Sözlük işlənilir...")
# Sözlük üzərində əməliyyatların icra edilməsi
else:
print("Səhv: sözlük gözlənilirdi.")
data = {"name": "Alice", "age": 25, "city": "New York"}
process_data(data)
Bu nümunədə process_data
funksiyası data
arqumentinin sözlük olub olmadığını yoxlayır və yalnız sözlüklər üçün müvafiq əməliyyatları həyata keçirir.
2.3 Elementin götürülməsi
Sözlüyün elementləri ilə işləmək siyahı və ya tuple ilə işləməyə oxşayır — biz də kvadrat mötərizələrdən istifadə edəcəyik. Amma mötərizələrdə elementin indeksi yerinə açarı göstərməliyik. Sözlüyün açarı hər hansı dəyişilməz element ola bilər: string, rəqəm və ya məsələn, tuple.
sözlük[açar]
Nümunə:
person = {"name": "Alice", "age": 25, "city": "New York"}
name = person["name"]
print(name) # Çap edəcək: Alice
Əgər açar yoxdursa, xəta baş verəcək:
person = {"name": "Alice", "age": 25, "city": "New York"}
person["country"] # xəta baş verəcək KeyError: 'country'
get(key, def_value)
metodu
get()
metodu təhlükəsiz şəkildə açar üzrə dəyər almağa imkan verir. Əgər açar yoxdursa, metod varsayılan dəyəri (None
, əgər varsayılan dəyər göstərilməyibsə) qaytarır. Bu, KeyError
istisnasının baş verməsinin qarşısını alır.
person = {"name": "Alice", "age": 25, "city": "New York"}
age = person.get("age")
print(age) # Çap edəcək: 25
country = person.get("country", "USA")
print(country) # Çap edəcək: USA
get()
metoduna ikinci parametr kimi dəyər ötürmək olar, əgər sözlükdə uyğun açar yoxdursa, həmin dəyər geri qaytarılacaq.
setdefault()
metodu get()
metoduna bənzər şəkildə işləyir, amma əgər açar sözlükdə yoxdursa, metod yalnız varsayılan dəyəri qaytarmır, həm də sözlüyə yeni bir açar: dəyər
cütünü əlavə edir.
person = {"name": "Alice", "age": 25}
city = person.setdefault("city", "New York")
print(city) # Çap edəcək: New York
print(person) # Çap edəcək: {'name': 'Alice', 'age': 25, 'city': 'New York'}
GO TO FULL VERSION