107
4.11
Mengen
Abb. 4.4: Identische und gleiche Objekte
4.11 Mengen
Mengen sind ungeordnete Kollektionen ohne Duplikate. Im Alltag verwenden wir häufig
das Mengenkonzept, um Objekte zu gruppieren. Wenn ich an meine Freunde denke, fasse
ich in Gedanken eine Gruppe von Personen zu einer Menge zusammen. Eine Besonderheit
gegenüber einer Sequenz ist, dass in einer Menge ein Objekt (Element) nur einmal vorkom-
men kann. Eine Person kann z.B. nicht zwei Mal mein Freund sein. Zweitens sind die Ele-
mente einer Menge in keiner besonderen Reihenfolge. Sie besitzen keine Indexe, über die
ich auf sie zugreifen kann. Ich habe z.B. keinen Freund Nummer 15. Gleichwohl kann man
alle Elemente einer Menge aufzählen. Man sagt: Mengen sind iterierbar. Allerdings ist nicht
vorherzusehen, in welcher Reihenfolge ein Iterator die Elemente einer Menge liefert. Wenn
ich mehrmals hintereinander in Gedanken alle meine Freunde aufzähle, werde ich vermut-
lich jedes Mal eine etwas andere Reihenfolge wählen.
Python bietet zur Repräsentation von Mengen zwei Datentypen an:
set und frozenset.
Der Unterschied liegt darin, dass
frozenset-Objekte nicht verändert werden können. Sie
sind – wie der Name schon sagt – »eingefroren«. Eine Menge vom Typ
set erzeugen Sie am
einfachsten, indem Sie – wie in der Mathematik – die Elemente in geschweiften Klammern
aufzählen:
Oder Sie schreiben hinter das Wort
set in Klammern eine beliebige Kollektion (z.B. eine
Liste). Analog definieren Sie
frozenset-Objekte.
Mit Mengen-Objekten kann man die aus der Mathematik üblichen Operationen ausführen,
wie z.B. Vereinigung, Durchschnitt und Differenz. Hier einige Beispiele. Weitere Einzelhei-
ten finden Sie in Kapitel 7.
>>> {1, 2, 3}
{1, 2, 3}
>>> set([1, 2, 1, 1])
{1, 2}
>>> set("abaac")
{'a', 'c', 'b'}
>>> frozenset([1, 2, 1, 1])
frozenset({1, 2})
a
b
1
liste_a
liste_b
[1]
[1]
Ein (identisches) Objekt
mit zwei Namen
Zwei gleiche, aber
nicht identische Objekte

Get Python 3 - Lernen und professionell anwenden now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.