Wissensdatenbank von GCSoft

>> Wissensdatenbank / Python 3

Sequenzielle Datentypen

Unter sequenziellen Datentypen wird eine Klasse von Datentypen zusammengefasst, die Folgen von gleichartigen oder verschiedenen Elementen verwalten.
Man kann über Indizes auf die Elemente zugreifen.

Es gibt diese fünf sequenziellen Typen in Python:

Datentyp speichert Veränderlichkeit
list Listen beliebiger Instanzen veränderlich
tuple Listen beliebiger Instanzen unveränderlich
str Text als Sequenz von Buchstaben unveränderlich
bytes Binärdaten als Sequenz von Bytes unveränderlich
bytearray Binärdaten als Sequenz von Bytes veränderlich

Operationen auf Instanzen sequenzieller Datentypen

(s, t sind Instanzen desselben sequenziellen Datentyps;
 i, j, k, n sind ganze Zahlen;
 x ist eine Referenz auf eine beliebige Instanz)

Notation Beschreibung
x in s Prüft, ob x in s enthalten ist. Das Ergebnis ist ein Wahrheitswert.
x not in s Prüft, ob x nicht in s enthalten ist. Das Ergebnis ist ein Wahrheitswert. Gleichwertig mit not x in s.
s + t Das Ergebnis ist eine neue Sequenz, die die Verkettung von s und t enthält.
s += t Das Ergebnis eine Verkettung von s und t und weist sie s zu.
s * n oder n * s Liefert eine neue Sequenz, die die Verkettung von n Kopien von s enthält.
s *= n Erzeugt das Produkt s * n und weist es s zu.
s[i] Liefert das i-te Element von s.
s[i:j] Liefert den Ausschnitt aus s von i bis j.
s[i:j:k] Liefert den Ausschnitt aus s von i bis j, wobei nur jedes k-te Elemnt beachtet wird.
len(s) Gibt die Anzahl der Elemente von s zurück.
max(s) Liefert das größte Elemet von s, sofern eine Ordnungsrelation für die Elemente definiert ist.
min(s) Liefert das kleinste Elemet von s, sofern eine Ordnungsrelation für die Elemente definiert ist.
s.index(x[, i[, j]]) Gibt den Index k des ersten Vorkommens von x in der Sequenz s im Bereic i <= k < j zurück.
s.count(x) Zählt, wie oft x in der Sequenz s vorkommt.

Mit in kann auch geprüft werden, ob ein Teilstring in einem String vorhanden ist. Dies funktioniert nur für str, bytes und bytearray.
Mit dem in-Operator kann nicht geprüft werden, ob eine Teilliste in einer list-Instanz enthalten ist.
Das Gleiche gilt für Instanzen des Typs tuple.

Man sagt, der Operator += arbeitet in-place ("an der Stelle").

Mit dem []-Operator kann auf ein bestimmtes Element der Sequenz zugegriffen werden, indem der entsprechende Index (bei Null beginnend)
in die eckigen Klammern geschrieben wird. Es kann auch auf das x-te Element von hinten zugegriffen werden, dann beginnt die
Indizierung bei -1.

Index von vorne: 0 1 2 3 4 5
Elemente: P y t h o n
Index von hinten: -6 -5 -4 -3 -2 -1
Wird mit einem Index auf ein nicht vorhandenes Element zugegriffen, wird dies mit einem IndexError quittiert.

Auslesen einer Teilsequenz mit s[i:j]: inklusive i, exklusive j.
Indizes können auch weggelassen werden, es wird für den fehlenden Wert der maximal bzw. minimal mögliche Wert angenommen.
z.B.: s[:5], s[5:]
Will man nur bstimmte Elemente einer Sequenz extrahieren, kann unter Angabe der Schrittweite bestimmt werden, wie die
Indizes vom Beginn bis zum Ende einer Teilsequenz gezählt weden.
z.B.: s[1:10:2]
Eine negative Schrittweite bewirkt ein Rückwärtszählen vom Start- zum Endindex.

Mit der Built-In Function len lässt sich die Anzahl der Elemente einer Sequenz ermitteln.

Um das kleinste bzw. größte Element einer Sequenz zu ermitteln dienen die Built-in Functions min und max.

Mit index ermittelt man die Position eines Elements in einer Sequenz: s.index(x[, i[, j]]).
Um die Suche auf einen Teilbereich der Sequenz einzuschränken, dienen die Parameter i und j.
Ist das Element x nicht in s oder in der angegebenn Teilfolge enthalten, führt index zu einem ValueError.

Mit count kann ermittelt werden, wie oft ein bestimmtes Element x in einer Sequenz enthalten ist.

Sequenzielle Datentypen - list

Sequenzielle Datentypen - tuple

Sequenzielle Datentypen - str, bytes, bytearray