Scripting

Lineare Datenstrukturen

Tupel, Listen, Strings, Iteration, Slicing, Mutability und typische Operationen.

Lineare Datenstrukturen

Lineare Datenstrukturen speichern mehrere Werte in einer Reihenfolge.

In Python sind besonders wichtig:

  • tuple
  • list
  • str
  • bytes

tuple

Ein Tupel ist eine geordnete, unveränderliche Auflistung von Objekten.

stock = ("GOOG", 100, 490.10)
address = ("www.python.org", 80)

Eigenschaften:

  • geordnet
  • unveränderlich
  • Duplikate erlaubt
  • unterschiedliche Typen möglich

Tupel erstellen

a = tuple()
a = ()
b = ("item",)
c = "item",

Wichtig: Ein Tupel mit einem Element braucht ein Komma.

Tupel entpacken

name, shares, price = stock

Funktionen können Tupel zurückgeben:

def div_mit_rest(x, y):
    quot = x // y
    rem = x % y
    return quot, rem

q, r = div_mit_rest(5, 2)

list

Eine Liste ist geordnet und veränderlich.

elements = ["CAP", 123, 12.3, "SAL"]
leere_liste = list()
auch_leer = []

Eigenschaften:

  • geordnet
  • veränderlich
  • unterschiedliche Typen möglich
  • Duplikate erlaubt

Listen verwenden

for e in elements:
    print(e)

if 123 in elements:
    print("found!")

Element ändern:

elements[1] = 234

Elemente hinzufügen:

elements.append("nice")
elements.insert(1, 45.0)
elements.extend(("GOOG", 100, 490.10))

Elemente löschen:

del elements[1]
last_element = elements.pop()

Liste als Stack

stack = []
stack.append(2)
stack.append(3)
stack.append(1)

while stack:
    stack.pop()

append legt oben auf den Stack, pop nimmt das letzte Element wieder herunter.

str

Ein String ist eine unveränderliche Zeichenkette.

leerer_string = ""
auch_leer = str()
variante1 = "Hello 'Python' World"
variante2 = 'String mit "Anführungszeichen"'

Mehrzeilige Strings:

text = """Multi-line string,
der Zeilenumbrüche enthält."""

Raw String:

pfad = r"drei\nbackslashes\im\string"

Raw Strings sind besonders praktisch bei regulären Ausdrücken.

String-Methoden

s = "Hello\nWorld"

s.lower()
s.upper()
s.count("l")
s.endswith("ld")
s.splitlines()

Strings können nicht direkt verändert werden. Operationen erzeugen neue Strings.

Typumwandlung

summe = str(42) + str(24)       # "4224"
summe = int("42") + int("24")   # 66

Indizes und Slicing

s = "Hello World!"
l = [2, 3, 5, 7, 11, 13, 17]

s[-1]      # "!"
l[-2]      # 13
s[2:5]     # "llo"
l[:3]      # [2, 3, 5]
s[4:]      # "o World!"
s[::2]     # "HloWrd"
l[1::3]    # [3, 11]

Slicing ist eines der stärksten Werkzeuge für Sequenzen.

Mutability

TypVeränderlich?
tuplenein
strnein
listja

Unveränderliche Objekte sind sicherer als Schlüssel in Hash-Strukturen. Veränderliche Objekte sind flexibler, brauchen aber mehr Aufmerksamkeit.

Merksatz

Tupel und Strings sind unveränderlich, Listen sind veränderlich. Wer das versteht, vermeidet viele Python-Fehler.

Zuletzt aktualisiert: 6. Juni 2026