Skip to content

2.1.3 Datenstrukturen

Patrick edited this page Jan 22, 2025 · 6 revisions

Sequenziell

Bitte lesen Sie die Python Dokumentation für ausführliche Erklärungen.

name seqenziell unveränderbar erlaubte Datentypen
list ja nein alle
tuple ja ja alle
range ja ja int

list

Eine list in Python ist eine geordnete Sammlung von Elementen, die veränderbar sind. Du kannst Elemente hinzufügen, entfernen oder ändern. Listen sind super flexibel und können verschiedene Datentypen enthalten.

# Eine Liste erstellen
meine_liste = [1, 2, 3, "vier", "fünf"]

Greifen Sie nach ein Element mit Index [i].

# Zugriff auf Elemente
erstes_element = meine_liste[0]

1

Greifen nach ein Element vom Ende mit minus.

letztes_element = meine_liste[-1]

'fünf'

Greifen Sie nach Elemente mit Index Splice [i:j]

# Zugriff auf Elemente
letzte_zwei_elemente = meine_liste[3:4]

['vier', 'fünf']

len() berechnet die Länge von nicht nur Liste aber auch Tuple und Dictionary

# Länge der Liste
laenge = len(meine_liste)

5

Prüfen ob ein Element in eine Liste oder Tuple ist mit 'in'

2 in meine_liste

True

Was kann man mit einem List machen?

# Eine Liste erstellen
meine_liste = [1, 2, 3, "vier", "fünf"]

append(x): Fügt das Element x am Ende der Liste hinzu.

# Elemente hinzufügen
meine_liste.append(6)

[1, 2, 3, "vier", "fünf", 6]

remove(x): Entfernt das erste Vorkommen des Elements x in der Liste.

# Elemente entfernen
meine_liste.remove("vier")

[1, 2, 3, "fünf", 6]

Probieren Sie mal die andere Methoden für eine Liste

  • count(x)
    • Zählt, wie oft das Element x in der Liste vorkommt.
  • insert(i, x)
    • Fügt das Element x an der Position i in die Liste ein.
  • pop(i)
    • Entfernt und gibt das Element an der Position i zurück.
  • reverse()
    • Kehrt die Reihenfolge der Elemente in der Liste um.
  • sort()
    • Sortiert die Elemente der Liste in aufsteigender Reihenfolge.
  • copy()
    • Erstellt eine flache Kopie der Liste.
  • clear()
    • Entfernt alle Elemente aus der Liste.

tuple

Ein tuple in Python ist eine geordnete Sammlung von Elementen, die im Gegensatz zu Listen unveränderlich sind. Sobald du ein Tuple erstellt hast, kannst du dessen Elemente nicht mehr ändern, hinzufügen oder entfernen.

# Ein Tuple erstellen
mein_tuple = (1, 2, 3, "vier", "fünf")

# Zugriff auf Elemente
erstes_element = mein_tuple[0]  # 1
letztes_element = mein_tuple[-1]  # "fünf"

# Länge des Tuples
laenge = len(mein_tuple)  # 5
# Versuch, ein Element zu ändern (führt zu einem Fehler)
mein_tuple[0] = 10  # TypeError: 'tuple' object does not support item assignment

range

Ein range in Python ist eine Funktion, die eine Sequenz von Zahlen erzeugt. Range handelt nur Ganzzahlen.

range(Anfang, Ende, Größe)

# Hier ist die Parametern
# range(Anfang, Ende, Größe)

# Ein einfaches range-Beispiel
for i in range(0, 5, 1):
    print(i)

0, 1, 2, 3, 4

# Ein range mit Startwert, Endwert und Schrittweite
for i in range(2, 10, 2):
    print(i)

2, 4, 6, 8

Lesen Sie 2.2.2 for-Schleife für mehr Info.

Hinweis: Ranges haben alle common sequenziell Operationen außerhalb Konkatenation and Wiederholung.

Set

Bitte lesen Sie die Python Dokumentation für ausführliche Erklärungen.

Ein set in Python ist eine Sammlung von einzigartigen, unveränderlichen Objekten. Du kannst es dir wie eine Menge in der Mathematik vorstellen. Sets werden häufig verwendet, um doppelte Elemente zu entfernen oder um Mitgliedschaften zu testen.

# Ein Set erstellen
meine_menge = {1, 2, 3, 4, 5}

# Ein weiteres Set erstellen
andere_menge = {3, 4, 5, 6, 7}
# Vereinigungsmenge
vereinigung = meine_menge | andere_menge  # {1, 2, 3, 4, 5, 6, 7}
# Schnittmenge
schnitt = meine_menge & andere_menge  # {3, 4, 5}
# Differenzmenge
differenz = meine_menge - andere_menge  # {1, 2}

Mapping

Bitte lesen Sie die Python Dokumentation für ausführliche Erklärungen.

In Python bezieht sich "Mapping" normalerweise auf eine Datenstruktur namens Dictionary. Ein Dictionary speichert Schlüssel-Wert-Paare und ermöglicht es dir, schnell den Wert zu einem gegebenen Schlüssel nachzuschlagen.

# Ein Dictionary erstellen
mein_dict = {
    "Name": "Alice",
    "Alter": 30,
    "Stadt": "Berlin"
}

# Zugriff auf Werte über Schlüssel
name = mein_dict["Name"]  # "Alice"
alter = mein_dict["Alter"]  # 30

# Ein neues Schlüssel-Wert-Paar hinzufügen
mein_dict["Beruf"] = "Entwickler"

Wie kann man über dict iteritieren?

dict.items() iteriert über die Schlüssel und Werte.

dict.keys() iteriert nur über die Schlüssel.

dict.values() iteriert nur über die Werte.

# Über das Dictionary iterieren
for schluessel, wert in mein_dict.items():
    print(schluessel, ': ', wert)

Name : Alice Alter : 30 Stadt : Berlin Beruf : Entwickler

Binär

Bitte lesen Sie die Python Dokumentation für ausführliche Erklärungen.

In Python bezieht sich "binär" oft auf das binäre Zahlensystem, das nur die Ziffern 0 und 1 verwendet. Es kann auch auf binäre Daten verweisen, die in einer Datei gespeichert sind. Binärdaten sind besonders nützlich für die Arbeit mit nicht-textuellen Daten wie Bilder, Audiodateien oder ausführbaren Programmen.

# Schreiben und Lesen von binären Dateien
daten = b'Hallo, Welt!'

daten

b'Hallo, Welt!'

# daten ist kein str mehr
daten[0]

72

# durch decode kann man binär wieder als str speichern
daten.decode()

'Hallo, Welt!'

Lernzielkontrolle

1. Aufgabe

Was ist die Ausgabe?

type([1,2,3])
Lösung

list

type() funktioniert mit Datentypen und -strukturen.

2. Aufgabe

Warum ist die Ausgabe falsch? Was kann man tun, um es wahr auszugeben?

[1,2,3,4] == range(1,5,1)
Lösung

Falsch

[1,2,3,4] == list(range(1,5,1))

Wie Datentypen gibt es Funktionen um ein Datentypen umzuwandeln.

3. Aufgabe

Ist das der richtige Befehl um das Tuple zu ändern?

x = (1,0,3)
x[1] = 2
Lösung

Nein, ein Tuple ist unveränderbar.

4. Aufgabe

Was ist die Ausgabe?

name_dict = ('Name': 'Charles',
             'Alter': 45)

print(name_dict['Name'])
Lösung

Error! Rundklammern sind nicht richtig für dict Initialisierung. Dafür braucht man geschweifte Klammern.


Als Nächstes: if-Bedingung ➡️

1 Set-Up

Mach dich bereit!

1.1 Python Installation

1.2 Befehlszeilenschnittstelle

1.2.1 PowerShell

1.2.2 Python pip

1.3 Code-Editor

1.4 Versionskontrolle

1.4.1 Git

1.4.2 GitHub

1.4.3 Obsidian

2 Grundlegend

Los geht's!

2.1 Rechner und Speicher

2.1.2 Datentypen

2.2 Kontrollfluss

2.3 Funktionen

2.3.4 Decorators

3 Fortgeschritten

Wie ein Profi!

3.2 Module

4 Wichtige Bibliotheken

Bibliothekskarte beantragen!

4.1 NumPy

4.2 pandas

5 Präsentationen

Letzte Strecke!

Clone this wiki locally