Lineare Datenstrukturen
Lineare Datenstrukturen
Lineare Datenstrukturen speichern mehrere Werte in einer Reihenfolge.
In Python sind besonders wichtig:
tupleliststrbytes
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
| Typ | Veränderlich? |
|---|---|
tuple | nein |
str | nein |
list | ja |
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