CodeGym /Kurse /Python SELF DE /Erhalten eines Teilmengen

Erhalten eines Teilmengen

Python SELF DE
Level 9 , Lektion 4
Verfügbar

4.1 Teilmenge regelbasiert erhalten

Eine Teilmenge ist eine Menge, deren alle Elemente zu einer anderen, größeren Menge gehören. In Python gibt es einige eingebaute Methoden und Operatoren zum Arbeiten mit Teilmengen. Unten erkläre ich, wie man Teilmengen erhält, wie man überprüft, ob eine Menge eine Teilmenge einer anderen ist, und wie man dieses Wissen in verschiedenen Szenarien nutzt.

Verwendung der Schleife for

Du kannst eine leere Menge erstellen und dann Elemente hinzufügen, die eine Bedingung erfüllen, indem du die Schleife for verwendest.


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)  # Ausgabe: {2, 4, 6, 8, 10}
        

Das ist der einfachste und offensichtlichste Weg, eine Teilmenge zu erstellen. Aber es gibt noch einige andere und kompaktere Möglichkeiten.

Verwendung der Funktion filter()

Die Funktion filter() wendet eine Funktion auf jedes Element an und gibt nur diejenigen Elemente zurück, für die die Funktion True ergibt. Das Ergebnis muss zurück in eine Menge konvertiert werden.


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)  # Ausgabe: {2, 4, 6, 8, 10}
        

Innerhalb der Funktion filter() wird ein Lambda-Ausdruck verwendet – das ist eine kurze Möglichkeit, eine Funktionsregel oder ein Filterkriterium zu definieren. Über Lambdas erzähle ich dir in ein paar Vorlesungen mehr.

4.2 Verwendung von Set Comprehensions

Erinnerst du dich an List Comprehension? Als wir in eckigen Klammern eine schnelle Methode zur Generierung einer Liste und ihrer Elemente hatten? Dieses syntaktische Werkzeug sah folgendermaßen aus:


[Ausdruck for Variable in Sequenz]

Wo:

  • Variable — ein Bezeichner einer Variablen,
  • Sequenz — eine Sequenz von Werten, die die Variable annehmen kann (das kann eine Liste, ein String oder ein Objekt, das mit der Funktion range erzeugt wurde, sein),
  • Ausdruck — ein Ausdruck, der in der Regel von der verwendeten Variablen im Generator abhängt und mit dem die Listenelemente gefüllt werden.

Für Mengen gibt es eine ähnliche Funktion, aber du musst geschweifte Klammern verwenden:


{Ausdruck for Variable in Sequenz}

Set Comprehensions ermöglichen es, auf einfache und prägnante Weise neue Mengen zu erstellen, basierend auf bestehenden, unter Anwendung von Filterbedingungen.

So kannst du nur die geraden Elemente aus einer Menge auswählen:


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)  # Ausgabe: {2, 4, 6, 8, 10} 

Und hier nur die Strings:


my_set = {1, 2, 3, 4, 5, 6, 7, 8, 9, "apple", "banana"}
even_set = {x for x in my_set if type(x) == str}
print(even_set)  # Ausgabe: {"apple", "banana"}

4.3 Überprüfung der Elementanwesenheit

Eine der Hauptoperationen, die man mit Mengen durchführen kann, ist das Überprüfen, ob ein Element in einer Menge vorhanden ist. In Python gibt es mehrere Möglichkeiten, dies zu tun. Lass uns die verschiedenen Methoden betrachten, um zu überprüfen, ob ein Element in einer Menge vorhanden ist.

Verwendung des Operators in

Der am häufigsten verwendete und bequemste Weg, um zu überprüfen, ob ein Element in einer Menge vorhanden ist, ist die Verwendung von des Operators in. Diese Methode gibt True zurück, wenn das Element in der Menge vorhanden ist, und False ansonsten.


my_set = {1, 2, 3, 4, 5}
print(3 in my_set)  # Ausgabe: True
print(6 in my_set)  # Ausgabe: False
            

Verwendung des Operators not in

Der Operator not in ist das Gegenteil zum Operator in und wird verwendet, um zu überprüfen, dass ein Element in der Menge nicht vorhanden ist. Er gibt True zurück, wenn das Element nicht in der Menge vorhanden ist, und False ansonsten.


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

Verwendung von Schleifen

Obwohl die Verwendung von Schleifen zur Überprüfung der Elementanwesenheit in einer Menge nicht der effektivste Weg ist, kann er in Situationen nützlich sein, in denen du mit komplexeren Datenstrukturen arbeitest oder zusätzliche Operationen ausführst.


my_set = {1, 2, 3, 4, 5}
element = 3
found = False

for item in my_set:
    if item == element:
        found = True
        break

print(found)  # Ausgabe: True
        

4.4 Überprüfung der Mengenverschachtelung

Python bietet den Operator <= und die Methode issubset() zur Überprüfung, ob eine Menge eine Teilmenge einer anderen ist.

Verwendung des Operators <=

Der Operator <= ermöglicht es, einfach zu überprüfen, ob eine Menge eine Teilmenge einer anderen ist.


set_a = {1, 2, 3}
set_b = {1, 2, 3, 4, 5}

print(set_a <= set_b)  # Ausgabe: True
print(set_b <= set_a)  # Ausgabe: False

        

Verwendung der Methode issubset()

Die Methode issubset() erfüllt die gleiche Funktion wie der Operator <= und gibt True zurück, wenn alle Elemente einer Menge in einer anderen enthalten sind.


set_a = {1, 2, 3}
set_b = {1, 2, 3, 4, 5}

print(set_a.issubset(set_b))  # Ausgabe: True
print(set_b.issubset(set_a))  # Ausgabe: False
        

Überprüfung auf Obermenge

Ähnlich wie bei Teilmengen kannst du überprüfen, ob eine Menge eine Obermenge einer anderen ist, indem du den Operator >= und die Methode issuperset() verwendest.

Verwendung des Operators >=


set_a = {1, 2, 3, 4, 5}
set_b = {1, 2, 3}

print(set_a >= set_b)  # Ausgabe: True
print(set_b >= set_a)  # Ausgabe: False

        

Verwendung der Methode issuperset()


set_a = {1, 2, 3, 4, 5}
set_b = {1, 2, 3}

print(set_a.issuperset(set_b))  # Ausgabe: True
print(set_b.issuperset(set_a))  # Ausgabe: False

        
Kommentare
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION