PythonSłowniki i zbiory
set. intersection()
Zwraca nowy zbiór z elementami, które występują we wszystkich podanych zbiorach.
- Zwraca
- Nowy zbiór.
- Zmienia oryginał
- Nie
Przykład
#Python
html_students = {"Ania", "Kuba", "Ola", "Iga"}
python_students = {"Kuba", "Iga", "Tomek"}
both = html_students.intersection(python_students)
print(sorted(both))
print(sorted(html_students & python_students))Wynikzapisany wynik, możesz go sprawdzić
['Iga', 'Kuba']
['Iga', 'Kuba']
Definicja i zastosowanie
#Metoda intersection() wyznacza część wspólną zbiorów: w wyniku zostają tylko elementy obecne jednocześnie w każdym z nich. Oryginalne zbiory się nie zmieniają.
Krótszy zapis to operator &: a & b. Tak jak przy sumie, metoda przyjmuje wiele argumentów i dowolne kolekcje, a operator działa tylko na zbiorach.
Typowe zastosowania to wspólne zainteresowania dwóch użytkowników, tagi pasujące do filtra czy uczniowie zapisani na kilka kursów. Jeśli chcesz tylko wiedzieć, czy zbiory nie mają nic wspólnego, użyj metody isdisjoint(). Zwraca wtedy True i nie buduje nowego zbioru.
Składnia
#Składnia
zbior.intersection(*others)
zbior & innyParametry
#*others
zbiory lub inne kolekcje
Kolekcje, z którymi szukasz wspólnych elementów.
Więcej przykładów
#Python
monday = {"Ania", "Kuba", "Ola"}
tuesday = {"Kuba", "Ola", "Iga"}
wednesday = ["Ola", "Kuba", "Tomek"]
print(sorted(monday.intersection(tuesday, wednesday)))
print(monday.isdisjoint({"Tomek", "Iga"}))
print(monday.isdisjoint({"Ania"}))Wynikzapisany wynik, możesz go sprawdzić
['Kuba', 'Ola']
True
False
Python
lesson_tags = {"python", "pętle", "listy"}
filters = {"listy", "słowniki"}
common = lesson_tags & filters
if common:
print("Pasuje do filtra:", sorted(common))Wynikzapisany wynik, możesz go sprawdzić
Pasuje do filtra: ['listy']
Dobre praktyki
#- Pusty zbiór jest traktowany jak fałsz, więc
if a & b:sprawdza, czy zbiory mają wspólne elementy. - Metoda
intersection_update()i operator&=zostawiają w zbiorze tylko elementy wspólne, zmieniając go w miejscu.
Powiązane hasła
#- set.union()Zwraca nowy zbiór z elementami ze wszystkich podanych zbiorów, bez powtórzeń.
- set.difference()Zwraca nowy zbiór z elementami pierwszego zbioru, których nie ma w pozostałych.
- dict.keys()Zwraca widok kluczy słownika, który zawsze pokazuje jego aktualną zawartość.
- set()Tworzy zbiór: nieuporządkowaną kolekcję unikalnych elementów.
Widzisz błąd albo brakuje przykładu? Napisz do nas.