Skip to content

Listen

Programmieren

Eine Liste ist ein zusammengesetzter Datentyp – er besteht aus mehreren einfachen Datentypen, z.B. Zahlen oder Text. Wir können aber auch eine Liste von Objekten, z.B. vom Typ Turtle haben. In Python kann eine Liste auch unterschiedliche Datentypen beinhalten.

Syntax

Bevor man eine Liste verwenden kann, muss diese erzeugt werden. Python muss wissen, dass es sich bei der Variablen um ein Liste handelt.

mit Werten definieren

Eine Liste wird durch eckige Klammern gekennzeichnet. Listen-Elemente werden durch Komma getrennt:

python
ausgaben = [12.50, 4.25, 9.90, 2.50]

leere Liste definieren

Lässt man die Klammer leer, erhält man eine leere Liste:

python
ausgaben = []

auf Elemente zugreifen

Die Elemente der Liste sind nummeriert. Die Nummerierung beginnt bei 0! Mit einer eckigen Klammer und einer Nummer können wir auf bestimmtes Element zugreifen – falls dieses existiert.

python
ausgaben = [12.50, 4.25, 9.90, 2.50]
erste_ausgabe = ausgaben[0]

print("Deine erste Ausgabe war:", erste_ausgabe)

Mit dieser Notation können auch Werte in einer Liste verändert werden:

python
ausgaben = [12.50, 4.25, 9.90, 2.50]
ausgaben[0] = 12.20

print("Deine Ausgaben lauten nun:", ausgaben)

Praktisches

etwas hinzufügen

Mit der Listen-Methode append() kann einer Liste ein Element angehängt werden:

python
ausgaben = []
ausgaben.append(12.2)
ausgaben.append(4.25)

print("Deine Ausgaben lauten nun:", ausgaben)

Anzahl Elemente

Die Länge einer Liste erhält man mit dem Unterprogramm len().

python
ausgaben = [12.50, 4.25, 9.90, 2.50]
laenge = len(ausgaben)

print("Anzahl Ausgaben:", laenge)

Sortieren

Mit sort() kann man eine Liste sortieren.

python
ausgaben = [12.50, 4.25, 9.90, 2.50]
ausgaben.sort()

print("Sortierte Ausgaben:", ausgaben)

Aufgabe

Erstelle eine Funktion median, welche eine Liste von Zahlen erhält und daraus den Median berechnet und diesen zurückgibt.

python
def median(liste):
	# berechnen
	return "noch nicht programmiert"

print(median([5,2,4,2,3,20]))
print(median([5,2,4,2,3,20,111]))
Lösung
python
def median(liste):
    print("liste unsortiert:", liste)
    liste.sort()
    print("liste sortiert:", liste)
    if len(liste)%2 == 0:
        print("gerade anzahl elemente:", len(liste))
        i = len(liste)//2
        print("mittlere elemente bei index", i-1, "und", i)
        median = (liste[i-1] + liste[i])/2
        return median
    else:
        print("ungerade anzahl elemente:", len(liste))
        i = len(liste)//2
        print("mitte bei index:", i)
        return liste[i]

print(median([5,2,4,2,3,20]))
print(median([5,2,4,2,3,20,111]))

natürlich können wir die print-Aufruf in der Funktion weglassen. Sie helfen aber beim Programmieren.

Gymnasium Kirchenfeld, fts & ros