Tagebuch-Eintrag #7
Listen in Python
Nach der kleinen Übung mit dem Lückentext hatte ich erwähnt, dass ich mich nun unter anderem mit den Datentypen beschäftigen möchte. Heute habe ich mir Listen in Python angeschaut.
Listen sind wie Arrays in PHP. Nur dass man das Wort array nicht mehr davor schreiben muss und dass die Werte in eckigen Klammern geschrieben werden. Das sind die größeren, sichtbaren Unterschiede.
Eine Liste mit Werten wird einer Variable zugewiesen. Mein Beispiel:
lang = ["Python", "PHP", "HTML", "CSS", "jQuery", "Java Script", "2019", "7.9"]
Meine Variable lang enthält eine Liste mit diesen Werten:
‚Python‘, ‚PHP‘, ‚HTML‘, ‚CSS‘, ‚jQuery‘, ‚Java Script‘, ‚2019‘, ‚7.9‘
Eine Liste kann Strings enthalten, ganze Zahlen (Integer) oder auch Dezimalzahlen.
Die Ausgabe dieser Liste erfolgt mit dem print-Befehl, wobei die Variable in runden Klammern geschrieben wird. Also nicht anders, als sonst 😉
print(lang)
print("Die komplette Liste ausgeben:", lang)
In der Zeile 2 habe ich noch einen Text vor der Ausgabe geschrieben. Das sieht dann so aus:
Die komplette Liste ausgeben: ['Python', 'PHP', 'HTML', 'CSS', 'jQuery', 'Java Script', '2019', '7.9']
Die eckigen Klammern werden mit ausgegeben. Was eigentlich nicht so schön ist, aber dafür gibt es sicherlich auch eine Lösung. Grundlage zur Listen-Funktion weiß ich schon mal.
Es ist auch möglich nur bestimmte Werte auszugeben. Die entsprechenden Funktionen und Codes sehen so aus:
# Den ersten Wert aus der Liste ausgeben
print("Den ersten Wert aus der Liste ausgeben:", lang[0])
# Den letzten Wert aus der Liste ausgeben
print("Den letzten Wert aus der Liste ausgeben:", lang[-1])
# Den ersten bis zum dritten Wert aus der Liste ausgeben (0,1,2)
print("Den ersten bis zum dritten Wert aus der Liste ausgeben (0,1,2):", lang[:3])
# Den vierten bis zum letzten Wert aus der Liste ausgeben (4,5)
print("Den vierten bis zum letzten Wert aus der Liste ausgeben (4,5):", lang[4:])
# Werte vom zweiten bis zum fünften aus der Liste ausgeben
print("Werte vom zweiten bis zum fünften aus der Liste ausgeben:", str(lang[1:5]))
# Die letzten vier Werte aus der Liste ausgeben (-1, -3, -2, -1).
print("Die letzten vier Werte aus der Liste ausgeben:", lang[-4:])
Der erste Wert aus der Liste wird mit [0] angegeben. Der letzte Wert kann mit [-1] ausgelesen werden. Darüberhinaus können auch Werte zwischen zwei Stellen der Liste ausgelesen werden. Zum Beispiel [1:5], das bedeutet, dass die Werte von der zweiten Stelle bis zur fünften Stelle ausgelesen werden: ‚PHP‘, ‚HTML‘, ‚CSS‘, ‚jQuery‘,
In der List hat PHP den Index 0 und jQuery hat den Index 4. Es verwirrt vielleicht etwas. Aber man gewöhnt sich recht schnell dran. Und dazu ist auch dieses Tagebuch da, damit ich es nicht so schnell vergesse – ich hoffe, dass ich das gar nicht vergesse 😉
Listenwert ersetzen
Die Werte in einer Listen können auch ersetzt und ausgetauscht werden, wenn das später im Programm erforderlich oder gewünscht ist. Dazu schreibe ich die Variable der dazugehörigen Liste mit dem Index des zu ersetzenden Wertes. Als Beispiel möchte ich den letzten Wert 7.9 aus meiner Liste durch 9.9 ersetzen. Der Code, der nach der Original-Liste stehen muss, lautet dann:
lang[-1] = "9.9"
Wenn ich dann die Liste mit print-Befehl ausgeben, ist der neue Wert dann drin.
Listenwerte hinzufügen
Listenwerte können nicht nur ersetzt, sondern auch hinzugefügt werden. Der Code dazu sieht wie folgt aus:
lang += ["Zusatz 1", "Zusatz 2"]
Eine weitere Möglichkeit Listenwert hinzuzufügen ist die append-Funktion von Python. Der Code dazu sieht dann so aus:
lang.append("Append-Wert")
Bei der append-Funktion ist es wichtig zu wissen, dass hierbei nur ein Wert hinzugefügt werden kann. Werden mehrere Werte mit dieser Funktion hinzugefügt, erscheint eine Fehlermeldung.
lang.append("Append-Wert","Append-Wert2")
TypeError: append() takes exactly one argument (2 given)
Unterliste innerhalb einer Liste
Listen können neben normalen Werten auch weitere Unterlisten enthalten. Nach meiner Kenntnis, ist das wie Arrays innerhalb eines Arrays bei PHP. Mein Beispiel-Code dazu mit Städte und Länder:
location = [["Berlin", "Deutschland"], ["Washington", "USA"], ["Paris", "Frankreich"], ["London", "UK"]]
Und die dazugehörige Ausgabe mit dem print-Befehl:
Alles ausgeben: [['Berlin', 'Deutschland'], ['Washington', 'USA'], ['Paris', 'Frankreich'], ['London', 'UK']]
Doch damit war’s noch nicht.
Werte zu einer Unterliste hinzufügen
Wenn man neue Werte zu einer Liste hinzufügen kann, dann kann man auch Werte zu einer Unterliste hinzufügen. Rein nach der Logik ist es sehr einfach den Code dafür zu schreiben, wenn man die grundlegenden Listen-Funktion kennengelernt hat. Der Code dafür:
location += [["Zusatz 1", "Zusatz 2"], ["Zusatz A", "Zusatz B"]]
Und die Ausgabe mit dem print-Befehl:
[['Berlin', 'Deutschland'], ['Washington', 'USA'], ['Paris', 'Frankreich'], ['London', 'UK'], ['Zusatz 1', 'Zusatz 2'], ['Zusatz A', 'Zusatz B']
Es ist schon ziemlich krass was es einfach so kann. Und ich glaube, ich habe die grundlegenden Funktionen von Liste in Python verstanden. Trotzdem muss ich weiter damit üben und spielen.
Zum Abschluss der ganze Code aus meiner Listen-Übung.
# Übungen zur List-Funktion. Listen können Strings, Ganzahlen oder Dezimalzahlen enthalten.
lang = ["Python", "PHP", "HTML", "CSS", "jQuery", "Java Script", "2019", "7.9"]
# Die komplette Liste ausgeben
print("Die komplette Liste ausgeben:", lang)
# Den ersten Wert aus der Liste ausgeben
print("Den ersten Wert aus der Liste ausgeben:", lang[0])
# Den letzten Wert aus der Liste ausgeben
print("Den letzten Wert aus der Liste ausgeben:", lang[-1])
# Den ersten bis zum dritten Wert aus der Liste ausgeben (0,1,2)
print("Den ersten bis zum dritten Wert aus der Liste ausgeben (0,1,2):", lang[:3])
# Den vierten bis zum letzten Wert aus der Liste ausgeben (4,5)
print("Den vierten bis zum letzten Wert aus der Liste ausgeben (4,5):", lang[4:])
# Werte vom zweiten bis zum fünften aus der Liste ausgeben
print("Werte vom zweiten bis zum fünften aus der Liste ausgeben:", str(lang[1:5]))
# Die letzten vier Werte aus der Liste ausgeben (-1, -3, -2, -1).
print("Die letzten vier Werte aus der Liste ausgeben:", lang[-4:])
# Letzten Wert aus der Liste 7.9 mit einem neuen Wert überschreiben
lang[-1] = "9.9"
print("Neuer Wert:", lang[-1])
print("Aktuelle Liste:", lang)
# Listenwerte hinzufügen
print("=== Listenwert hinzufügen:")
lang += ["Zusatz 1", "Zusatz 2"]
print("Aktuelle Liste mit neuen Werten:", lang)
# Listenwerte hinzufügen mit Python-Funktion .append. Nur ein Wert erlaubt.
lang.append("Append-Wert")
print("Aktuelle Liste mit neuem Wert durch .append-Funktion:", lang)
# Liste mit Unterlisten
location = [["Berlin", "Deutschland"], ["Washington", "USA"], ["Paris", "Frankreich"], ["London", "UK"]]
print("=== Liste mit Unterlisten:")
print("Alles ausgeben:", location)
# Die letzte Unterliste aufrufen.
print("Die letzte Unterliste aufrufen:", location[-2:])
# Den zweiten Wert (Deutschland), aus der ersten Unterliste aufrufen.
print("Den zweiten Wert, aus der ersten Unterliste aufrufen:", location[0][1])
# Die erste Unterliste und die letzte Unterliste aufrufen.
print("Die erste Unterliste und die letzte Unterliste aufrufen:", location[0],location[-1])
print("=== Listenwerte in einer neuen Unterliste hinzufügen:")
location += [["Zusatz 1", "Zusatz 2"], ["Zusatz A", "Zusatz B"]]
print(location)
Als nächstes schaue ich mir Tupel in Python an.