CodeGym /Kurslar /Python SELF AZ /Alt dəstənin alınması

Alt dəstənin alınması

Python SELF AZ
Səviyyə , Dərs
Mövcuddur

4.1 Qaydaya əsasən alt çoxluğun əldə edilməsi

Alt çoxluq — bu, bütün elementləri başqa, daha böyük çoxluğun daxilində olan çoxluqdur. Python-da alt çoxluqlarla işləmək üçün bir neçə daxili funksiya və operator var. Aşağıda alt çoxluqları necə əldə edəcəyini, bir çoxluğun digərinin alt çoxluğu olub-olmadığını necə yoxlamağı və bu bilikləri müxtəlif ssenarilərdə necə tətbiq etməyi izah edəcəm.

for dövründən istifadə

Şərtə uyğun elementləri əlavə etmək üçün boş çoxluq yarada və bu çoxluğu for dövrü ilə doldura bilərsiniz.


my_set = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10}
even_set = set()
            
for x in my_set:
    if x % 2 == 0:
        even_set.add(x)
            
print(even_set)  # Nəticə: {2, 4, 6, 8, 10}
        

Bu alt çoxluq yaratmaq üçün ən sadə və açıq üsuldur. Amma daha bir neçə digər və daha sıx üsullar da var.

filter() funksiyasından istifadə

filter() funksiyası hər bir element üzərində bir funksiya tətbiq edir və yalnız həmin funksiya True qaytaran elementləri geri verir. Nəticəni yenidən çoxluğa çevirmək lazımdır.


my_set = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10}
even_set = set(filter(lambda x: x % 2 == 0, my_set))
print(even_set)  # Nəticə: {2, 4, 6, 8, 10}
        

filter() funksiyasının içində lambda ifadəsindən istifadə edilir – bu, qısa funksiya və ya filtrasiya qaydasını təyin etmək üçün bir üsuldur. Lambda ifadələri haqqında bir neçə mühazirədən sonra danışacağam.

4.2 Çoxluq generatorlarının istifadəsi

List Comprehension-i xatırlayırsınız? Kvadrat mötərizələrdə siyahı və onun elementlərini sürətli bir üsulla yaratmağa imkan verən sintaksis aləti? Bu alət belə görünürdü:


[ifadə for dəyişən in ardıcıllıq]

Burada:

  • dəyişən — hər hansı bir dəyişənin identifikatoru,
  • ardıcıllıq — həmin dəyişənin aldığı dəyərlərin ardıcıllığı (bu siyahı, string və ya range funksiyası ilə əldə olunmuş obyekt ola bilər),
  • ifadə — adətən generatorun daxilində istifadə olunan dəyişəndən asılı olan bəzi ifadədir, hansı ki siyahının elementlərini dolduracaq.

Çoxluqlar üçün də oxşar funksiya mövcuddur, lakin burada dırnaqlardan fərqli olaraq figurlu mötərizələrdən istifadə olunur:


{ifadə for dəyişən in ardıcıllıq}

Çoxluq generatorları artıq mövcud olan çoxluqlar əsasında yeni çoxluqlar yaratmağa imkan verir, həmçinin filtrasiya şərtləri tətbiq etməyə də yarayır.

Bu üsulla yalnız cüt elementləri çoxluqdan seçmək olar:


my_set = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10}
even_set = {x for x in my_set if x % 2 == 0} 
print(even_set)  # Çıxış: {2, 4, 6, 8, 10} 

Və yalnız stringləri belə seçə bilərsiniz:


my_set = {1, 2, 3, 4, 5, 6, 7, 8, 9, "alma", "banan"}
even_set = {x for x in my_set if type(x) == str}
print(even_set)  # Çıxış: {"alma", "banan"}

4.3 Elementin mövcudluğunu yoxlamaq

Çoxluqlarla icra edə biləcəyiniz əsas əməliyyatlardan biri də çoxluqda elementin mövcudluğunu yoxlamaq-dır. Python-da bunu etmək üçün bir neçə üsul mövcuddur. Gəlin, elementin çoxluqda olduğunu yoxlamağın müxtəlif metodlarını nəzərdən keçirək.

in operatorundan istifadə

Çoxluqda elementin mövcudluğunu yoxlamağın ən geniş istifadə olunan və ən rahat üsulu in operatorundan istifadə etməkdir. Bu üsul elementin çoxluqda olduğunu yoxladıqda True, əks təqdirdə False qaytarır.


my_set = {1, 2, 3, 4, 5}
print(3 in my_set)  # Çıxış: True
print(6 in my_set)  # Çıxış: False
            

not in operatorundan istifadə

not in operatoru in operatorunun əksidir və çoxluqda elementin olmadığını yoxlamaq üçün istifadə edilir. Bu, elementin çoxluqda olmadığını yoxladıqda True, əks təqdirdə False qaytarır.


my_set = {1, 2, 3, 4, 5}
print(6 not in my_set)  # Çıxış: True
print(3 not in my_set)  # Çıxış: False

Döngülərdən istifadə

Döngülərdən istifadə edərək çoxluqda elementin mövcudluğunu yoxlamaq ən effektiv üsul olmasa da, bu üsul daha mürəkkəb verilənlər strukturları ilə işlədikdə və ya əlavə əməliyyatlar yerinə yetirdikdə faydalı ola bilər.


my_set = {1, 2, 3, 4, 5}
element = 3
found = False
            
for item in my_set:
    if item == element:
        found = True
        break
            
print(found)  # Çıxış: True
        

4.4 Dəstlərin iç-içəliyi yoxlanış

Python operator <=issubset() metodu təqdim edir ki, bir dəstin digərinin alt dəsti olub-olmadığını yoxlaya biləsiniz.

<= operatorunu istifadə etmək

<= operatoru asanlıqla yoxlamağa imkan verir ki, bir dəst digərinin alt dəsti olub-olmadığını.


set_a = {1, 2, 3}
set_b = {1, 2, 3, 4, 5}
            
print(set_a <= set_b)  # Çıxış: True
print(set_b <= set_a)  # Çıxış: False
            
        

issubset() metodundan istifadə

issubset() metodu <= operatorunun eyni funksiyasını yerinə yetirir və bir dəstin bütün elementləri digərində varsa True qaytarır.


set_a = {1, 2, 3}
set_b = {1, 2, 3, 4, 5}
            
print(set_a.issubset(set_b))  # Çıxış: True
print(set_b.issubset(set_a))  # Çıxış: False
        

Üst dəstə yoxlanış

Alt dəstlərə bənzər şəkildə, bir dəstin digərinin üst dəsti olub olmadığını yoxlaya bilərsiniz >= operatoruissuperset() metodu vasitəsilə.

>= operatorundan istifadə


set_a = {1, 2, 3, 4, 5}
set_b = {1, 2, 3}
            
print(set_a >= set_b)  # Çıxış: True
print(set_b >= set_a)  # Çıxış: False
            
        

issuperset() metodundan istifadə


set_a = {1, 2, 3, 4, 5}
set_b = {1, 2, 3}
            
print(set_a.issuperset(set_b))  # Çıxış: True
print(set_b.issuperset(set_a))  # Çıxış: False
            
        
Şərhlər
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION