Veröffentlicht am

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.

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 + ' '

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 deine Lösung mit den Beispiellösungen.

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

Gib in einer Zählschleife die Elemente der Liste anfang aus.

 

Challenge 4

Verwende Zählschleifen, um die Liste

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

schön formatiert auszugeben.

 

Challenge 5

Untersuche diesen Code. Was bewirkt er?

liste = ['Adam', 'Eva']
for i, el in enumerate(liste):
  print(f'{i=} {el=}')
  • Programmieren für absolute Anfänger - Spiel mit Python 1

  • Dieser Artikel ist Teil von Spiel mit Python 1 dem Anfänger-Trainings für Programmierneulinge.

  • Mach dir ein Bild von diesem einmaligen, deutschsprachigen Online-Training für absolute Programmieranfänger und buche gleich den kostenlosen Schnupperkurs auf der online Lernplattform.