Verschachtelte List Comprehensions
Großartig! Jetzt hast du ein gutes Verständnis für die grundlegende Syntax von List Comprehensions. Lass uns deine Fähigkeiten beim Schreiben von Code noch ein bisschen mehr fordern. In dieser Aufgabe schreibst du eine List Comprehension innerhalb einer anderen List Comprehension, also verschachtelte List Comprehensions. Es klingt ein bisschen kompliziert, aber du kannst es schaffen!
Lassen wir die Strings für einen Moment beiseite. Listen können unter anderem dazu verwendet werden, mehrdimensionale Objekte wie Matrizen darzustellen. Matrizen können in Python als eine Liste von Listen dargestellt werden. Eine 5 x 5-Matrix mit den Werten 0
bis 4
in jeder Zeile kann zum Beispiel so geschrieben werden:
matrix = [[0, 1, 2, 3, 4],
[0, 1, 2, 3, 4],
[0, 1, 2, 3, 4],
[0, 1, 2, 3, 4],
[0, 1, 2, 3, 4]]
Deine Aufgabe ist es, diese Matrix mit Hilfe von verschachtelten List Comprehensions nachzubilden. Erinnere dich daran, dass du eine der Zeilen der Matrix mit einer einzigen List Comprehension erstellen kannst. Um die Liste von Listen zu erstellen, musst du einfach die List Comprehension als Ausgabeausdruck der gesamten List Comprehension angeben:
[
[Ausgabeausdruck] for
Iteratorvariable in
Iterable]
Beachte, dass hier der Ausgabeausdruck selbst eine List Comprehension ist.
Diese Übung ist Teil des Kurses
Python Toolbox
Anleitung zur Übung
- In der inneren List Comprehension – also dem Ausgabeausdruck der verschachtelten List Comprehension – erstellst du mit
range()
eine Liste mit Werten von0
bis4
. Verwendecol
als Iteratorvariable. - Im Iterable-Teil deiner verschachtelten List Comprehension verwendest du
range()
, um 5 Zeilen zu zählen – das heißt, du erstellst eine Liste mit Werten von0
bis4
. Verwenderow
als Iteratorvariable; beachte, dass du diese Variable nicht brauchst, um Werte in der Liste der Listen zu erstellen.
Interaktive Übung zum Anfassen
Probieren Sie diese Übung aus, indem Sie diesen Beispielcode ausführen.
# Create a 5 x 5 matrix using a list of lists: matrix
matrix = [[____] ____]
# Print the matrix
for row in matrix:
print(row)