CodeGym /Kursy /Python SELF PL /Operacje na zbiorach

Operacje na zbiorach

Python SELF PL
Poziom 9 , Lekcja 8
Dostępny

8.1 Tabela operatorów i metod

Język Python wspiera przeciążenie operatorów, co oznacza, że operacje na obiektach można robić nie tylko za pomocą metod, ale również za pomocą operatorów, takich jak: +, -, *, /, | itd.

Klasa set (zbiór) przeciążyła wszystkie możliwe operatory, żeby praca ze zbiorami była prosta i bardzo podobna do tej, jaką znamy z matematyki.

Oto tabela takich operatorów:

Operator Metoda Opis
| union() Zwraca sumę dwóch zbiorów.
& intersection() Zwraca przecięcie zbiorów (tylko wspólne elementy).
- difference() Zwraca różnicę zbiorów (elementy, które są tylko w pierwszym zbiorze).
^ symmetric_difference() Zwraca różnicę symetryczną zbiorów (elementy, które są w jednym z zbiorów, ale nie w obu).
<= issubset() Sprawdza, czy jeden zbiór jest podzbiorem drugiego.
< issubset() Sprawdza, czy jeden zbiór jest własnym podzbiorem drugiego (właściwy podzbiór).
>= issuperset() Sprawdza, czy jeden zbiór jest nadzbiorem drugiego.
> issuperset() Sprawdza, czy jeden zbiór jest własnym nadzbiorem drugiego (właściwy nadzbiór).
== __eq__() Sprawdza, czy zbiory są równe (zawierają te same elementy).
!= __ne__() Sprawdza, czy zbiory nie są równe (zawierają różne elementy).

Bardzo wygodne jest używanie operatorów przy pracy ze zbiorami – teraz sam się o tym przekonasz.

8.2 Praca ze zbiorami za pomocą operatorów

Suma (OR)

Operator | Użycie funkcji union()

 

set1 = {1, 2, 3}
set2 = {3, 4, 5}
union_set = set1 | set2
print(union_set)  # Wynik: {1, 2, 3, 4, 5}
                    

 

set1 = {1, 2, 3}
set2 = {3, 4, 5}
union_set = set1.union(set2)  
print(union_set)  # Wynik: {1, 2, 3, 4, 5}
                            
                    

Przecięcie (AND)

Operator & Użycie funkcji intersection()

 

set1 = {1, 2, 3}
set2 = {3, 4, 5}
intersection_set = set1 & set2
print(intersection_set)  # Wynik: {3}
                    

 

set1 = {1, 2, 3}
set2 = {3, 4, 5}
intersection_set = set1.intersection(set2)
print(intersection_set)  # Wynik: {3}

Różnica (DIFFERENCE)

Operator - Użycie funkcji difference()

 

set1 = {1, 2, 3, 4}
set2 = {3, 4, 5}
difference_set = set1 - set2
print(difference_set)  # Wynik: {1, 2}

                    

 

set1 = {1, 2, 3, 4}
set2 = {3, 4, 5}
difference_set = set1.difference(set2)
print(difference_set)  # Wynik: {1, 2}

Różnica symetryczna (SYMMETRIC DIFFERENCE)

Operator ^ Użycie funkcji symmetric_difference()

 

set1 = {1, 2, 3}
set2 = {3, 4, 5}
s_diff = set1 ^ set2
print(s_diff)  # Wynik: {1, 2, 4, 5}
                    

 

set1 = {1, 2, 3}
set2 = {3, 4, 5}
s_diff = set1.symmetric_difference(set2)
print(s_diff)  # Wynik: {1, 2, 4, 5}

Dziwne, że nigdzie nie jest używany operator + ani *, ale jak to się mówi - kto pyta, nie błądzi. Twórcy języka Python tak zadecydowali i pewnie wiedzą lepiej.

1
Опрос
Zbiory w Pythonie,  9 уровень,  8 лекция
недоступен
Zbiory w Pythonie
Zbiory w Pythonie
Komentarze
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION