Hauptübersicht

# Klasse `Set`

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

- Durchschnitt (Operator &)
- Vereinigung (Operator +)
- Mengendifferenz (Operator -)
- Symmetrische Differenz (Operator ^)
- Potenzmenge (powerset)
- Kartesisches Produkt (Operator *)
- Elementtest (Operator `in`)
- Kardinalzahl (Python-Funktion `len`)

Basisklasse: `list`

Übersicht:

## Konstruktor

Set (el)

## Operatoren

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 |

## Objektmethoden

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

### 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. | 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`

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.