197
Kapitel 7
Sequenzen, Mengen und
Generatoren
Sequenzen sind Objekte, die aus einer linearen Anordnung anderer Objekte bestehen, die
man Items oder Elemente der Sequenz nennt. Python unterscheidet zwischen drei Sequenz-
Typen: Liste (
list), Tupel (tuple) und String (str).
Mengen sind ungeordnete Datenkollektionen mit einmalig vorkommenden Elementen.
Zur Darstellung von endlichen Mengen gibt es bei Python die Typen
set und frozenset.
Während in Sequenzen und Mengen Daten explizit gespeichert werden, sind Generatoren
virtuelle Kollektionen, deren Elemente erst bei Bedarf erzeugt werden.
In diesem Kapitel geht es darum, wie man Sequenzen, Mengen und Generatoren für Pro-
blemlösungen verwenden kann. Ein gewisser Schwerpunkt liegt dabei auf Listen. Zur Ver-
arbeitung von Zeichenketten gibt es weiter hinten ein eigenes Kapitel (Kapitel 13).
7.1 Gemeinsame Operationen für Sequenzen
Sequenzen (Strings, Tupeln und Listen) besitzen gemeinsame Merkmale, die sie von ande-
ren Typen (z.B. Zahlen) unterscheidet. Sie haben z.B. eine Länge; die Elemente einer
Sequenz sind in einer bestimmten Reihenfolge angeordnet und durchnummeriert. Entspre-
chend dieser logischen Struktur gibt es eine Reihe von Operationen, die auf allen Sequenz-
Typen (Strings, Tupeln und Listen) ausgeführt werden können. Sie werden in Tabelle 7.1
zusammengefasst.
Operation Ergebnis
x in s 1, wenn ein Element mit dem Wert von x in der Sequenz s enthalten
ist, und
0 sonst
n not in s 0, wenn ein Element mit dem Wert von x in der Sequenz s enthalten
ist, und
1 sonst
s + t Konkatenation der beiden Sequenzen s und t
s * n , n * s n
Kopien der Sequenz s werden hintereinandergehängt.
s[i] Das i-te Element der Sequenz s
s[i:j]
Ein Ausschnitt (slice) von s, der vom i-ten bis zum j-ten Element
(nicht einschließlich) geht
Tabelle 7.1: Gemeinsame Operationen für Sequenzen

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.