Listen und Tupel#

Variablen können auch mehrere Werteinträge enthalten. Wir nennen diese Listen und Tupel. Einige Programmierer nennen sie auch Vektoren oder Arrays; Arrays von Werten. Wir kennen bereits eine Art von Array, nämlich Strings. Strings sind Listen von Zeichen.

Siehe auch

Sie können auf Elemente in einem Array mit eckigen Klammern [] zugreifen, die es Ihnen ermöglichen, auf ein Element an einem bestimmten Index zuzugreifen. Die Indizierung beginnt bei 0. Somit ist das erste Element eines Arrays das Element mit der Nummer 0. Der folgende String enthält 5 Zeichen und somit kann auf die Elemente mit den Indizes 0, 1, 2, 3 und 4 zugegriffen werden:

word = "Hello"
word[0]
'H'
word[1]
'e'
word[2]
'l'
word[3]
'l'
word[4]
'o'

Wenn wir auf einen Index zugreifen, der nicht in der Liste enthalten ist, erhalten wir einen Fehler:

word[5]
---------------------------------------------------------------------------
IndexError                                Traceback (most recent call last)
Input In [8], in <module>
----> 1 word[5]

IndexError: string index out of range

Numerische Listen#

Eine andere Art von Array sind numerische Listen. Sie sind üblich, um beispielsweise Messungen von Experimenten zu speichern:

measurements = [5.5, 6.3, 7.2, 8.0, 8.8]
measurements[0]
5.5
measurements[1]
6.3

Das Ändern von Einträgen in Listen funktioniert so:

measurements[1] = 25
measurements[1]
25

Sie können auch Einträge zu Listen hinzufügen:

measurements.append(10.2)

Listen können auch umgekehrt werden:

measurements
[5.5, 25, 7.2, 8.0, 8.8, 10.2]
measurements.reverse()
measurements
[10.2, 8.8, 8.0, 7.2, 25, 5.5]

Wie bei Strings können Sie auch Arrays verketten:

more_measurements = [12.3, 14.5, 28.3]
measurements + more_measurements
[10.2, 8.8, 8.0, 7.2, 25, 5.5, 12.3, 14.5, 28.3]

Bei der Arbeit mit numerischen Listen können Sie einige der integrierten Funktionen von Python verwenden, um grundlegende Statistiken über Ihre Messungen zu erstellen

# Minimalwert in der Liste
min(measurements)
5.5
# Maximalwert in der Liste
max(measurements)
25
# Summe aller Elemente in der Liste
sum(measurements)
64.7
# Anzahl der Elemente in der Liste
len(measurements)
6
# Durchschnitt aller Elemente in der Liste
sum(measurements) / len(measurements)
10.783333333333333

Listen mit gemischten Typen#

Sie können auch Werte verschiedener Typen in einer Liste speichern

mixed_list = [22, 5.6, "Cat", 'Dog']
mixed_list[0]
22
mixed_list[3]
'Dog'
type(mixed_list[3])
str

Tupel#

Tupel sind Listen, die nicht verändert werden können:

immutable = (4, 3, 7.8)
immutable[1]
3
immutable[1] = 5
---------------------------------------------------------------------------
TypeError                                 Traceback (most recent call last)
Input In [31], in <module>
----> 1 immutable[1] = 5

TypeError: 'tuple' object does not support item assignment

Sie können Tupel in Listen und Listen in Tupel umwandeln:

type(immutable)
tuple
mutable = list(immutable)
type(mutable)
list
again_immuntable = tuple(mutable)
type(again_immuntable)
tuple

Übung#

Nehmen Sie an, Sie haben an mehreren Tagen Messungen durchgeführt. Berechnen Sie den durchschnittlichen Messwert dieser Woche?

measurements_monday = [2.3, 3.1, 5.6]
measurements_tuesday = [1.8, 7.0]
measurements_wednesday = [4.5, 1.5, 6.4, 3.2]
measurements_thursday = [1.9, 2.0]
measurements_friday = [4.4]