Set
Klasse Set
Polymorphe Mengen
Beispiel: A = Set([1,2,3])
Die Klasse Set erlaubt folgende Operationen:
in
)len
)Basisklasse: list
Übersicht:
Set (el)
Operator | Bedeutung |
x + y | a + b à __add__ (a, b), if a is of type Set __radd__(b, a), otherwise |
Elements, wihch are sets themself come first and are sorted by length (cardinality) simultaneous overloading of < <=, >, >=, == and != If A is a Set and b not, A.__cmp__(b) is called for comparing A with b (or vice versa)! | |
x == y | |
x * y | |
x != y | |
str(x) | |
x - y | |
x ^ y |
Methode | Bedeutung |
card () | Kardinalzahl |
difference (B) | Mengendifferenz |
insert (e) | Fügt ein zusätzliches Element in die Menge ein |
intersection (B) | Schnittmenge |
issubset (B) | Ist A Teilmenge (oder gleich) B? |
issuperset (B) | Ist A Obermenge (oder gleich) B |
operators () | Nur zur Dokumentation |
powerset () | Potenzmenge (Menge aller Teilmengen) |
product (B) | Kartesisches Produkt |
symmDiff (B) | Symmetrische Differenz |
union (B) | Vereinigungsmenge |
Konstruktor
Aufruf: Set(el)
Union (operators + and +=):
Aufruf: x + y
Beschreibung:
a + b à __add__ (a, b), if a is of type Set
__radd__(b, a), otherwise
For ordering sets
Aufruf:
Beschreibung:
Elements, wihch are sets themself come first and are sorted by length (cardinality)
simultaneous overloading of < <=, >, >=, == and !=
If A is a Set and b not, A.__cmp__(b) is called for comparing A with b (or vice versa)!
Aufruf: x == y
Cartesian product (operator *)
Aufruf: x * y
Beschreibung:
Aufruf: x != y
Object representation as string (in curly braces)
Aufruf: str(x)
Beschreibung:
Set difference (operators - and -=)
Aufruf: x - y
Beschreibung:
Symmetric difference (operators ^ and ^=)
Aufruf: x ^ y
Beschreibung:
A.card()
Aufruf: self.card()
Beschreibung:
Kardinalzahl
Synonym zu len(A)
A.difference(B)
Aufruf: .difference(B)
Beschreibung:
Mengendifferenz
Auch Operatorschreibweise: A - B
Statt A = A - B kann auch A -= B geschrieben werden.
A.insert(e)
Aufruf: self.insert(e)
Beschreibung:
Fügt ein zusätzliches Element in die Menge ein
A.insert(e) ist äquivalent zu A += Set(e)
A.intersection(B)
Aufruf: .intersection(B)
Beschreibung:
Schnittmenge
Auch Operatorschreibweise: A & B
Statt A = A & B kann auch A &= B geschrieben werden.
A.issubset(B)
Aufruf: A.issubset(B)
Beschreibung:
Ist A Teilmenge (oder gleich) B?
Rückgabewert: bool
A.issuperset(B)
Aufruf: A.issuperset(B)
Beschreibung:
Ist A Obermenge (oder gleich) B
Rückgabewert: bool
Set.operators()
Aufruf: self.operators()
Beschreibung:
Nur zur Dokumentation
Die Klasse Set erlaubt folgende Operatoren:
Op. | Funktion | Beispiele |
---|---|---|
& | Durchschnitt | A & B; A &= B |
+ | Vereinigung | A + B; A += B |
- | Mengendifferenz | A - B; A -= B |
^ | Symmetrische Differenz | A ^ B; A ^= B |
* | Kartesisches Produkt | A * B; A *= B |
in | ist Element von | x in A |
A.powerset()
Aufruf: self.powerset()
Beschreibung:
Potenzmenge (Menge aller Teilmengen)
A.product(B)
Aufruf: .product(B)
Beschreibung:
Kartesisches Produkt
Auch Operatorschreibweise: A * B
Statt A = A * B kann auch A *= B geschrieben werden.
A.symmDiff(B)
Aufruf: .symmDiff(B)
Beschreibung:
Symmetrische Differenz
Auch Operatorschreibweise: A ^ B
Statt A = A ^ B kann auch A ^= B geschrieben werden.
A.union(B)
Aufruf: .union(B)
Beschreibung:
Vereinigungsmenge
Auch Operatorschreibweise: A + B
Statt A = A + B kann auch A += B geschrieben werden.