====== LU14a - Listen mit Python ======
//Siehe auch [[https://docs.python.org/3/tutorial/datastructures.html#|Python - 5. Data Structures]]//
Eine Liste ist eine Datenstruktur in Python.
Sie enthält mehrere Einträge, die mit einem Index identifiziert werden.
===== Verarbeitungen mit Listen =====
==== Anlegen ====
Wir definieren eine Liste, indem wir die eckigen Klammern **''['' '']''** verwenden.
Die Reihenfolge der Elemente bestimmt den Index, beginnend mit Index=0.
Um die Übersicht zu vereinfachen, **können** wir jedes Element auf eine eigene Zeile schreiben.
animals = [
'Löwe', # index = 0
'Gepard', # index = 1
'Adler' # index = 2
]
print(animals)
== Output ==
['Löwe', 'Gepard', 'Adler']
==== Elemente einfügen ====
Mit der Funktion **append** wird ein zusätzliches Element am Ende der Liste eingefügt.
animals = ['Löwe', 'Gepard', 'Adler']
animals.append('Hecht') # index = 3
print(animals)
== Output ==
['Löwe', 'Gepard', 'Adler', 'Hecht']
Mit der Funktion **insert** können wir ein neues Element an einer bestimmten Stelle in die Liste einfügen.
Der Index aller Elemente hinter dem neuen Element, wird um 1 erhöht.
animals = ['Löwe', 'Gepard', 'Adler']
animals.insert(2, 'Eule')
print(animals)
== Output ==
['Löwe', 'Gepard', 'Eule', 'Adler']
==== Elemente ändern ====
Wir können den Wert eines Elements ändern, indem wir über den Index darauf zugreifen.
animals = ['Löwe', 'Gepard', 'Adler']
animals[1] = 'Tiger'
print(animals)
== Output ==
['Löwe', 'Tiger', 'Adler']
==== Elemente löschen ====
Mit der Funktion **pop** können wir ein bestimmtes Element anhand des Index aus einer Liste löschen.
Mit der Funktion **remove** können wir ein Element anhand seines Werts aus der Liste löschen.
animals = ['Löwe', 'Gepard', 'Adler', 'Hecht', 'Python']
animals.pop(2) # removes element with index=2
animals.remove('Löwe') # removes element with value='Löwe'
print(animals)
== Output ==
['Gepard', 'Hecht', 'Python']
==== Einzelne Elemente lesen ====
Wir können einzelne Element anhand ihres Index lesen.
animals = ['Löwe', 'Gepard', 'Adler']
print(animals[1])
== Output ==
Gepard
Die Funktion **index** sucht die Position eines Elements mit einem bestimmten Wert.
animals = ['Löwe', 'Gepard', 'Adler']
print(animals.index('Adler'))
== Output ==
2
**Vorsicht**: Falls kein Element mit dem gesuchten Wert existiert, wird eine ''ValueException'' ausgelöst.
Diese Situation müssen wir mit ''try'' / ''except'' abfangen.
animals = ['Löwe', 'Gepard', 'Adler']
try:
print(animals.index('Wolpertinger'))
except ValueError:
print('Kein Wolpertinger in der Liste vorhanden')
== Output ==
Kein Wolpertinger in der Liste vorhanden
==== Alle Elemente verarbeiten ====
Mit einem **for**-Loop können wir alle Elemente einer Liste verarbeiten.
animals = ['Löwe', 'Gepard', 'Adler']
for animal in animals:
print(animal)
== Output ==
Löwe
Gepard
Adler
Die Funktion **sort** sortiert die Liste aufsteigend anhand der Werte.
Mit dem Argument ''reverse=True'' können wir die Liste absteigend sortieren.
animals = ['Löwe', 'Gepard', 'Adler']
animals.sort()
for animal in animals:
print(animal)
print('------')
animals.sort(reverse=True)
for animal in animals:
print(animal)
== Output ==
Adler
Gepard
Löwe
------
Löwe
Gepard
Adler
----
{{tag>M319-C1G M319-C1F M319-C1E}}
[[https://creativecommons.org/licenses/by-nc-sa/4.0/|{{https://i.creativecommons.org/l/by-nc-sa/4.0/88x31.png}}]] Marcel Suter