Veröffentlicht am Schreib einen Kommentar

Verschachtelte Listen und Schleifen mit Python

Python Verschachtelte Listen

Verschachtelte Listen und Schleifen mit Python

Listen sind eindimensional. Oft benötigt man mehrdimensionale Strukturen. Verschachtelte Listen sind ein Beispiel dafür. Eine zweidimensionale Matrix oder ein Schachbrett können  als verschachtelte Liste programmiert werden. Der Blog-Post stellt zweidimensionale Listen vor.

Python ist sehr flexibel und wir können Elemente beliebig verschachteln. Hol dir das Cheat Sheet mit den grundlegenden Datentypen von Python. In diesem Blog-Post konzentrieren wir uns auf den Datentyp list – also auf Listen.

Beispiel einer verschachtelten Liste

spielbrett = [ \
    ['a1','a2','a3'],\
    ['b1','b2','b3'],\
    ['c1','c2','c3'] \
  ]

Eine zweidimensionale Liste in Python

Beachte: Der Code wird viel übersichtlicher, wenn die langen Befehle auf mehrere Zeilen aufgeteilt werden.

spielbrett ist eine Liste von Listen. Hier bauen wir die inneren Listen so auf, dass alle Elemente vom gleichen Datentyp sind. Das braucht nicht so zu sein, passt jedoch sehr gut zu unserem Beispiel: Wir wollen ein Spielbrett darstellen.

Mit einer Schleife geben wir die einzelnen Elemente der Liste aus:

spielbrett = [ \
  ['a1', 'a2', 'a3'], \
  ['b1', 'b2', 'b3'], \
  ['c1', 'c2', 'c3']
]
for zeile in spielbrett:
  print(zeile)

Ausgabe:

['a1', 'a2', 'a3']
['b1', 'b2', 'b3']
['c1', 'c2', 'c3']

Die Elemente der Liste spielbrett sind ihrerseits wieder Listen. Mit zwei verschachtelten Schleifen, gelingt eine schönere Ausgabe:

for zeile in spielbrett:
  z = ''
  for element in zeile:
    z += element + ' '
  print(z)

 Ausgabe

a1 a2 a3
b1 b2 b3
c1 c2 c3

Die innere Schleife durchläuft die Elemente der inneren Liste, die durch die äußere Schleife gewählt wurde. Eine verschachtelte Datenstruktur benötigt also verschachtelte Schleifen.

Beachte: print() beginnt eine neue Zeile. Um das Spielbrett schön darzustellen, ist das störend. Wir helfen uns mit der Variablen z.

Diese initialisieren wir als leere Zeichenkette bevor wir die Elemente einer einzelnen Zeile durchlaufen. Und statt die Elemente der einzelnen Zeile direkt mit print() auszugeben, verketten wir sie der Reihe nach in z. Ist die innere Schleife fertig, dann geben wir z aus.

Probiere folgendes aus und ersetze z += element + ' ' durch

print(element)
z += element

Erinnere: z += element + ' ' ist die Kurzform für z = z + element + ' '

Siehe auch: Eindimensionale Listen – Python und Java verglichen.

Python verschachtelte Listen – einfache Übungen

Wende die Theorie praktisch an und vertiefe dein Verständnis. Entwickle die Lösungen der Challenges im Playground und vergleiche das Ergebnis mit der Erwartung. Klicke auf die Challenge und wende dein Können an.

Challenge 1

Erstelle eine verschachtelte Liste brett wie folgt:

brett = [['a0', 'a1'], ['b0', 'b1']]

Schreib ein Programm, das aus der Liste brett eine neue Liste ergebnis enthält, deren Elemente die Verkettung der einzelnen Elemente der inneren Liste enthält. Gib die Variable ergebnis aus.

Für das Beispiel brett soll diese Ausgabe erzeugt werden:

['a0a1', 'b0b1']

Teste mit anderen verschachtelten Listen, die auch eine andere Anzahl innere Listen unterschiedlicher Länge enthalten.

Challenge 2

Nehme die folgende Liste zahlen = [[1, 2], [3, 4]] bilde eine neue Liste produkte, die die Produkte der inneren Listen von zahlen enthält. In diesem Beispiel lautet das Ergebnis [2, 12].

Teste mit anderen verschachtelten Listen, die auch eine andere Anzahl innere Listen unterschiedlicher Länge enthalten.

Challenge 3

Verwende Zählschleifen, um die Liste

[['a0', 'a1'], ['b0', 'b1']]

schön formatiert auszugeben. Das erwartete Ergebnis sieht wie folgt aus:

a0 a1b0 b1

Challenge 4

Untersuche diesen Code. Was bewirkt er?

liste = ['Adam', 'Eva']
for i, el in enumerate(liste):
  print(f'{i=} {el=}')
  • Sentence Embeddings für Vektordatenbanken
  • LLMs in Enterprise Search
  • Prompt Engineering Personas und Wiederholungen
  • Chatbot als Lernassistent
  • AI-Engineering-Fachglossar
  • Python ist eine vielseitige Programmiersprache. Sie wird gerne genutzt, für Datenanalysen, Data Science und neu auch, um KI-gestützte, intelligente Apps zu entwickeln.

  • Webinar:

    So baust du LLMs in deine Anwendungen ein

    Erfahre in diesem exklusiven Webinar, wie du LLMs in deine Anwendungen einbaust.

    Mehr Infos zum Webinar findest du in der ausführlichen Beschreibung.

    Das kostenlose Webinar findet statt am Montag, 8. Juli um 13:00-13:45 MEZ via ZOOM.

    Trage dich in die Liste ein und du erhältst den Zugangslink und später den Link zur Aufzeichnung.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert