Hauptübersicht

Klasse Set

Klasse Set
Polymorphe Mengen
Beispiel: A = Set([1,2,3])
Die Klasse Set erlaubt folgende Operationen:

Basisklasse: list

Übersicht:

Konstruktor

Set (el)

Operatoren

OperatorBedeutung
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

Objektmethoden

MethodeBedeutung
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

Set

Konstruktor

Aufruf: Set(el)


Operatoren

x + y

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)!


x == y

Aufruf: x == y


x * y

Cartesian product (operator *)

Aufruf: x * y

Beschreibung:


x != y

Aufruf: x != y


str(x)

Object representation as string (in curly braces)

Aufruf: str(x)

Beschreibung:


x - y

Set difference (operators - and -=)

Aufruf: x - y

Beschreibung:


x ^ y

Symmetric difference (operators ^ and ^=)

Aufruf: x ^ y

Beschreibung:


Objektmethoden

card

A.card()

Aufruf: self.card()

Beschreibung:
Kardinalzahl
Synonym zu len(A)


difference

A.difference(B)

Aufruf: .difference(B)

Beschreibung:
Mengendifferenz
Auch Operatorschreibweise: A - B
Statt A = A - B kann auch A -= B geschrieben werden.


insert

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)


intersection

A.intersection(B)

Aufruf: .intersection(B)

Beschreibung:
Schnittmenge
Auch Operatorschreibweise: A & B
Statt A = A & B kann auch A &= B geschrieben werden.


issubset

A.issubset(B)

Aufruf: A.issubset(B)

Beschreibung:
Ist A Teilmenge (oder gleich) B?
Rückgabewert: bool


issuperset

A.issuperset(B)

Aufruf: A.issuperset(B)

Beschreibung:
Ist A Obermenge (oder gleich) B
Rückgabewert: bool


operators

Set.operators()

Aufruf: self.operators()

Beschreibung:
Nur zur Dokumentation
Die Klasse Set erlaubt folgende Operatoren:

Op.FunktionBeispiele
&DurchschnittA & B; A &= B
+VereinigungA + B; A += B
-MengendifferenzA - B; A -= B
^Symmetrische DifferenzA ^ B; A ^= B
*Kartesisches ProduktA * B; A *= B
inist Element vonx in A
Diese Methode dient nur zur Dokumentation. Sie hat keine Wirkung.


powerset

A.powerset()

Aufruf: self.powerset()

Beschreibung:
Potenzmenge (Menge aller Teilmengen)


product

A.product(B)

Aufruf: .product(B)

Beschreibung:
Kartesisches Produkt
Auch Operatorschreibweise: A * B
Statt A = A * B kann auch A *= B geschrieben werden.


symmDiff

A.symmDiff(B)

Aufruf: .symmDiff(B)

Beschreibung:
Symmetrische Differenz
Auch Operatorschreibweise: A ^ B
Statt A = A ^ B kann auch A ^= B geschrieben werden.


union

A.union(B)

Aufruf: .union(B)

Beschreibung:
Vereinigungsmenge
Auch Operatorschreibweise: A + B
Statt A = A + B kann auch A += B geschrieben werden.