Python-Listen können verschiedene Arten von Elementen enthalten. Sie können Ganzzahlen, Strings, Fließkommazahlen usw. enthalten. Sie können auch andere Listen beinhalten:
l = [4, 5, 'hi', 3.14, ['how', 'are', 'you', '?'], 64]
print(l[2]) # hi
print(l[2][0]) # h
print(l[-1]) # 64
print(l[4]) # ['how', 'are', 'you', '?']
inner = l[4]
print(inner[1]) # are
print(l[4][1]) # are
Dies ist ein Beispiel für eine Liste in Python, die eine weitere Liste enthält. Die Operationen mit der verschachtelten Liste sind genau die gleichen wie mit der äußeren. Man kann Elemente mit append hinzufügen oder mit pop entfernen usw. Das Indexieren funktioniert also so, als ob wir auf eine verschachtelte Liste innerhalb einer Liste zugreifen.
Ähnlich wie bei einer Liste von Strings, bei der wir auf jedes Element mit [Index] zugreifen können:
greetings = [
'hi',
'hello',
'hey there',
'hey!'
]
print(greetings[0])
# hi
print(greetings[2])
# hey there
Wir können auf diese Weise sogar eine Matrix von Zahlen erstellen:
Auf diese Weise greifen wir auf jede Zeile separat zu. Danach können wir auf jedes Element der Zeile genau so zugreifen, wie wir auf ein Element einer Liste zugreifen würden:
print(multiplication_table[2]) # [3, 6, 9, 12, 15, 18, 21, 24, 27]
l = multiplication_table[2] # l ist jetzt [3, 6, 9, 12, 15, 18, 21, 24, 27]
print(l[0]) # 3
print(l[1]) # 6
print(l[-1]) # 27
# Oder direkt auf die Elemente zugreifen
print(multiplication_table[2][0]) # 3
print(multiplication_table[2][1]) # 6
print(multiplication_table[2][-1]) # 27
Der erste Index gibt die "Zeile" an, die wir aus der Matrix auswählen, während der zweite Index die "Spalte" angibt. Die Syntax zum Zugriff auf ein Element aus einer 2D-Liste lautet also two_d[row][column].
Herausforderung
Gegeben eine ganze Zahl n, erstelle eine quadratische 2D-Liste der Größe . Du sollst das Quadrat in 3 Teile teilen: den oberhalb der Diagonalen, den auf der Diagonalen und den unterhalb.
Die Felder oberhalb sollen mit 0 gefüllt werden, die Felder auf der Diagonalen mit 1, und die darunter mit 2.
Die Eingabe des Programms enthält eine einzelne ganze Zahl n – die Größe des Quadrats.
Die Ausgabe des Programms soll das gefüllte Quadrat enthalten.