Bitte warten...

Listen in Python

► Python-Dokumentation: Sequence Types

Listen sind Feldvariablen (Arrays), die wie Tupel eine Gruppe von Werten beliebigen Typs speichern können. Im Gegensatz zu Tupeln können die Elemente einer Liste nachträglich geändert werden. Listen werden von eckigen Klammern [] umschlossen. Die einzelnen Elemente einer Liste werden über den fortlaufenden Index angesprochen, wobei das erste Element den Index 0 besitzt.

Code auswählen
1
2
3
4
5
6
7
a = ["Hans", "Meier", 34, True]
print(a)
print(a[1])
print(type(a))
print(type(a[1]))
a[2] = 35
print(a)

Elemente einer Liste ausgeben

► Python-Dokumentation: for

Mit for/in (s. Schleifen) können alle Elemente einer Liste ausgegeben werden:

Code auswählen
1
2
3
a = ["A", "B", "C", "a", "b", "c"]
for e in a:
    print(e)

Liste in Elemente zerlegen

► Python-Dokumentation: Common Sequence Operations

Die Anzahl der Elemente einer Liste lässt sich wie bei Strings, Tupeln und Dictionaries mit der Funktion len() ermitteln. Listen können wie Strings und Tupel in ihre Bestandteile zerlegt werden.

Code auswählen
1
2
3
4
5
6
7
a = ["Hallo", 5, True, False, -8, "Welt!"]
print(len(a))
print(a[3])    # Gibt das Element an Position 3 aus.
print(a[2:4])  # Es werden die Elemente mit dem Index 2 bis ausschließlich Index 4 ausgegeben.
print(a[:3])   # Es werden die Elemente vom Anfang des Feldes bis ausschließlich Index 3 ausgegeben.
print(a[1:])   # Es werden die Elemente mit dem Index 1 bis zum Ende des Feldes ausgegeben.
print(a[-5:])  # Es werden die letzten 5 Elemente ausgegeben.

Vorkommen von Elementen ermitteln

► Python-Dokumentation: if

Mit if/in (s. Bedingungen) kann geprüft werden, ob sich ein bestimmtes Element in einer Liste befindet:

Code auswählen
1
2
3
4
5
a = ["A", "B", "C", "a", "b", "c"]
if "d" in a:
    print("\"d\" ist enthalten.")
else:
    print("\"d\" ist nicht enthalten.")

► Python-Dokumentation: Common Sequence Operations

Mit der Funktion count() lässt sich die Anzahl gesuchter Elemente innerhalb von Listen (wie bei Strings und Tupeln) ermitteln.

Code auswählen
1
2
3
4
a = ["Hallo", 5, True, False, True, -8, "Welt!"]
print(a.count("Welt!"))
print(a.count("x"))
print(a.count(True))

Index eines Elements bestimmen

► Python-Dokumentation: Common Sequence Operations

Um den Index eines gesuchten Elements innerhalb einer Liste (oder eines Tupels) zu ermitteln, wird die Funktion index() verwendet.

Code auswählen
1
2
3
a = ["Hallo", "a", 5, True]
print(a.index("a"))
print(a.index(7))  # Die Suche nach einem nicht vorhandenen Index führt zu einem ValueError.

Element(e) zu einer Liste hinzufügen

► Python-Dokumentation: Common Sequence Operations

Mit Hilfe von append() wird ein neues Element an eine bestehende Liste angehängt. Mit insert() wird ein neues Element an einer bestimmten Position in der Liste eingefügt. Der Index der nachfolgenden Element wird dadurch erhöht.

Code auswählen
1
2
3
4
a = ["Hallo", "a", 5, True]
a.append(42)
a.insert(1, "Welt!")  # Das erste Argument gibt die Position des neuen Elements an.
print(a)

Element(e) aus einer Liste entfernen

► Python-Dokumentation: Common Sequence Operations

Mit remove() wird das erste Element aus einer Liste entfernt, das das übergebene Argument als Wert hat. Mit pop(x) wird das Element an Position x zurückgegeben und gleichzeitig entfernt.

Code auswählen
1
2
3
4
5
6
7
a = ["Hallo", "a", 5, True, "a"]
a.remove("a")
print(a)

p = a.pop(2)
print(a)
print(p)

Liste sortieren

► Python-Dokumentation: sort sorted

Mit sort() wird eine Liste sortiert, wobei die Liste nur Elemente des selben Datentyps beinhalten darf. Strings werden case-sensitive sortiert.

Mit Hilfe der Funktion sorted() kann eine sortierte Instanz einer Liste erzeugt werden, ohne dabei die zugrunde liegende Liste selbst zu verändern.

Code auswählen
1
2
3
4
5
6
a = ["C", "a", "b", "A", "c", "B"]
a.sort()
print(a)

a = ["C", "a", "b", "A", "c", "B"]
print(sorted(a))

Liste umkehren

► Python-Dokumentation: Mutable Sequence Operations reversed

Mit reverse() lässt sich die Reihenfolge der Elemente einer Liste umkehren.

Mit Hilfe der Funktion reversed() kann eine umgekehrte Instanz einer Liste erzeugt werden, ohne dabei die zugrunde liegende Liste selbst zu verändern.

Code auswählen
1
2
3
4
5
6
7
8
9
10
a = ["A", "B", "C", "a", "b", "c"]
a.reverse()
print(a)

a = ["A", "B", "C", "a", "b", "c"]
r = reversed(a)
b = []
for e in r:
    b.append(e)
print(b)

Liste kopieren

Während durch den Operator = bei numerischen Variablen und Strings eine eigenständige Kopie einer Variable mit neuem Namen erzeugt wird, erzeugt der Operator bei Listen, Tupeln und Dictionarys lediglich eine Instanz. Das bedeutet, dass der Wert der Instanz sich auch dann ändert, wenn das ursprüngliche Objekt geändert wird. Dies wird durch folgendes Beispiel veranschaulicht:

Code auswählen
1
2
3
4
a = ["Hans", "Meier", 34, True]
b = a
a[0] = "Paula"
print(b)

► Python-Dokumentation: copy

Um eine eigenständige Kopie einer Liste zu erzeugen, kann die Methode deepcopy aus dem Modul copy verwendet werden. Hierbei werden auch bei enthaltenen Elementen, die selbst Listen, Tupel oder Dictionarys sind, Kopien und keine Instanzen erzeugt.

Code auswählen
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
import copy

x = ["Schach", "Kochen", "Tanzen"]
a = ["Hans", "Meier", 34, True, x]
b = copy.deepcopy(a)
a[0] = "Paula"
x[0] = "Halma"
print(b)

# alterative Methode (erzeugt aber keine Kopie der in a enthaltenen Liste x, sondern eine Instanz):
x = ["Schach", "Kochen", "Tanzen"]
a = ["Hans", "Meier", 34, True, x]
b = a[:]
a[0] = "Paula"
x[0] = "Halma"
print(b)
print()

Kleinstes bzw. größtes Element finden

► Python-Dokumentation: min max

Mit Hilfe der Funktionen min() bzw. max() ist es möglich, das Element einer Liste mit dem niedrigsten bzw. höchsten Wert zu ermitteln. Dies ist vor allem bei numerischen Werten sinnvoll, kann aber auch beispielsweise auf Strings angewendet werden, bei denen die Position der Elemente bei alphabetischer Sortierung der Liste als Kriterium herangezogen wird.

Code auswählen
1
2
3
4
5
6
7
a = [1028, 256, -42, 4711]
print(min(a))
print(max(a))

b = ["Schulze", "Schmidt", "Müller", "Meier"]
print(min(b))
print(max(b))

Elemente addieren

► Python-Dokumentation: sum

Mit Hilfe der Funktion sum() können die einzelnen Elemente einer Liste addiert werden, sofern es sich bei ihnen um Zahlen handelt. Ansonsten erzeugt diese Funktion einen TypeError.

Code auswählen
1
2
a = [1028, 256, -42, 4711]
print(sum(a))