Kurs
In Python kannst du eine Listenfunktion nutzen, die eine Sammlung erstellt, die du für deine Analyse bearbeiten kannst. Diese Sammlung von Daten wird als Listenobjekt bezeichnet.
Obwohl alle Methoden in Python Funktionen sind, sind nicht alle Funktionen Methoden. Es gibt einen wichtigen Unterschied zwischen Funktionen und Methoden in Python. Funktionen nehmen Objekte als Eingaben. Methoden wirken dagegen auf Objekte.
Python hat die folgenden Listenfunktionen:
- sort(): Sortiert die Liste in aufsteigender Reihenfolge.
- Typ (Liste): Gibt den Klassentyp eines Objekts zurück.
- append(): Fügt ein einzelnes Element zu einer Liste hinzu.
- extend(): Fügt einer Liste mehrere Elemente hinzu.
- index(): Gibt das erste Vorkommen des angegebenen Werts zurück.
- max(Liste): Es gibt das Element aus der Liste mit dem höchsten Wert zurück.
- min(Liste): Es gibt das Element aus der Liste mit dem kleinsten Wert zurück.
- len(list): Es gibt die Gesamtlänge der Liste an.
- list(seq): Wandelt ein Tupel in eine Liste um.
- cmp(list1, list2): Es vergleicht die Elemente der beiden Listen list1 und list2.
- filter(fun,list): Filtere die Liste mit der Python-Funktion.
- Python-Listenfunktionen und -methoden
Python-Methode zum Sortieren von Listen
Die Methode sort() ist eine eingebaute Python-Methode, die die Liste standardmäßig in aufsteigender Reihenfolge sortiert. Du kannst die Reihenfolge aber von aufsteigend zu absteigend ändern, indem du die Sortierkriterien festlegst.
Beispiel
Angenommen, du willst die Elemente in den Preisen in aufsteigender Reihenfolge sortieren. Du gibst die Preise ein, dann einen Punkt (.) und dann den Namen der Methode, also sort, inklusive der Klammern.
prices = [238.11, 237.81, 238.91]
prices.sort()
print(prices)
# [237.81, 238.11, 238.91]
Python-Liste-Funktion type()
Die Funktion type() gibt den Klassentyp eines Objekts zurück.
Beispiel
Hier schauen wir mal, was für Typen fam und fam2 sind:
fam = ["liz", 1.73, "emma", 1.68, "mom", 1.71, "dad", 1.89]
print(fam)
# ['liz', 1.73, 'emma', 1.68, 'mom', 1.71, 'dad', 1.89]
Mal sehen, was für ein Typ das Objekt ist:
fam = ["liz", 1.73, "emma", 1.68, "mom", 1.71, "dad", 1.89]
print(type(fam))
# <class 'list'>
Schauen wir uns jetzt fam2 an.
fam2 = [["liz", 1.73],
["emma", 1.68],
["mom", 1.71],
["dad", 1.89]]
print(fam2)
# [['liz', 1.73], ['emma', 1.68], ['mom', 1.71], ['dad', 1.89]]
Mal sehen, was für ein Typ das Objekt ist:
fam2 = [["liz", 1.73],
["emma", 1.68],
["mom", 1.71],
["dad", 1.89]]
print(type(fam2))
# <class 'list'>
Diese Aufrufe zeigen, dass sowohl fam als auch fam2 eigentlich Listen sind.
Python-Liste-Append-Methode
Die Methode append() fügt bestimmte Inhalte, die du eingibst, am Ende der von dir ausgewählten Elemente hinzu.
Beispiel
In diesem Beispiel verlängern wir die Zeichenfolge, indem wir mit der Methode append() „April“ zur Liste hinzufügen. Mit append() wird die Liste um 1 verlängert.
months = ['January', 'February', 'March']
months.append('April')
print(months)
# ['January', 'February', 'March', 'April']
Python-Liste erweitern
Die Methode extend() macht die Liste um die Anzahl der Elemente länger, die du ihr gibst. Wenn du also mehrere Elemente zur Liste hinzufügen willst, kannst du diese Methode nutzen.
Beispiel
x = [1, 2, 3]
x.extend([4, 5])
print(x)
# [1, 2, 3, 4, 5]
Python-Listenindexmethode
Die Methode index() gibt das erste Vorkommen des angegebenen Werts zurück.
Beispiel
Schauen wir uns im folgenden Beispiel den Index für Februar in der Liste „Monate“ an.
months = ['January', 'February', 'March']
prices = [238.11, 237.81, 238.91]
print(months.index('February'))
# 1
Mit dieser Methode kann man feststellen, dass der Februar beim Index 1 steht. Jetzt können wir mit diesem Index auf den entsprechenden Preis für Februar zugreifen.
months = ['January', 'February', 'March']
prices = [238.11, 237.81, 238.91]
print(prices[1])
# 237.81
Python-Liste max-Funktion
Die Funktion max() gibt den höchsten Wert der eingegebenen Werte zurück.
Beispiel
In diesem Beispiel schauen wir uns an, wie man mit der Funktion max() den höchsten Preis in der Liste price findet.
# Find the maximum price in the list price
prices = [159.54, 37.13, 71.17]
price_max = max(prices)
print(price_max)
# 159.54
Python-Liste min-Funktion
Die Funktion min() gibt den niedrigsten Wert der eingegebenen Werte zurück.
Beispiel
In diesem Beispiel suchst du den Monat mit dem niedrigsten Verbraucherpreisindex (VPI).
Um den Monat mit dem niedrigsten Verbraucherpreisindex zu finden, musst du erst mal die Funktion min() auf die Preise anwenden, um den min_price zu ermitteln. Als Nächstes kannst du die Indexmethode nutzen, um die Indexposition von min_price zu finden. Mit dieser indizierten Position in Monaten kannst du den Monat mit dem niedrigsten Verbraucherpreisindex finden.
months = ['January', 'February', 'March']
prices = [238.11, 237.81, 238.91]
# Identify min price
min_price = min(prices)
# Identify min price index
min_index = prices.index(min_price)
# Identify the month with min price
min_month = months[min_index]
print(min_month)
# February
Python-Liste len-Funktion
Die Funktion len() zeigt, wie viele Elemente in einer Liste sind. Im folgenden Beispiel schauen wir uns nochmal Aktienkursdaten mit ganzen Zahlen an.
Beispiel
stock_price_1 = [50.23]
stock_price_2 = [75.14, 85.64, 11.28]
print('stock_price_1 length is', len(stock_price_1))
print('stock_price_2 length is', len(stock_price_2))
# stock_price_1 length is 1
# stock_price_2 length is 3
Python-Funktion list()
Die Funktion list() nimmt ein iterierbares Konstrukt und macht daraus eine Liste.
Syntax
list([iterable])
Beispiel
Im folgenden Beispiel arbeitest du mit Aktienkursdaten. Schreib mal eine leere Liste aus, mach aus einem Tupel eine Liste und druck zum Schluss eine Liste als Liste aus.
# empty list
print(list())
# tuple of stock prices
stocks = ('238.11', '237.81', '238.91')
print(list(stocks))
# list of stock prices
stocks_1 = ['238.11', '237.81', '238.91']
print(list(stocks_1))
# []
# ['238.11', '237.81', '238.91']
# ['238.11', '237.81', '238.91']
Python-Funktion cmp
Die Funktion cmp() nimmt zwei Werte und vergleicht sie miteinander. Dann gibt's einen negativen, null oder positiven Wert zurück, je nachdem, was eingegeben wurde.
Beispiel
Im folgenden Beispiel haben wir zwei Aktienkurse und vergleichen die ganzzahligen Werte, um zu sehen, welcher größer ist:
stock_price_1 = [50.23]
stock_price_2 = [75.14]
print(cmp(stock_price_1, stock_price_2))
print(cmp(stock_price_1, stock_price_1))
print(cmp(stock_price_2, stock_price_1))
# -1
# 0
# 1
Die Ergebnisse zeigen, dass die Liste stock_price_2 größer ist als die Liste stock_price_1. Du kannst die Funktion cmp() für jede Art von Liste verwenden, zum Beispiel für Zeichenfolgen. Beachte, dass standardmäßig die Liste, die länger ist, als die andere, als größer angesehen wird.
Python-Filterlistenfunktion
Bei der Funktion filter() geht's so: Sie nimmt eine Funktion und Listen und gibt dann einen Iterator mit gefilterten Elementen zurück. Du kannst entweder eine Python-Filterfunktion erstellen oder eine Lambda-Funktion verwenden, um eine gefilterte Liste zu bekommen.
Tipp: Du kannst auch Schleifen, Listenkomprimierung und Zeichenfolgenmusterabgleich nutzen, um eine Filterliste zu erstellen.
Beispiel
Zuerst machen wir eine Filterfunktion, die boolesche Werte zurückgibt. Es wird aus einfachen logischen Funktionen bestehen. In unserem Fall filtern wir Artikelpreise, die über 350 liegen. Dann nehmen wir filter(), um die Funktion auf die Liste item_price anzuwenden und einen Iterator mit gefilterten Elementen zu bekommen.
Um auf die gefilterten Elemente zuzugreifen, können wir entweder mit einer for-Schleife Werte extrahieren oder einen Iterator in Listen umwandeln.
def filter_price(price):
if (price > 350):
return True
else:
return False
item_price = [230, 400, 450, 350, 370]
# applying filter function
filtered_price = filter(filter_price, item_price)
print(list(filtered_price))
# [400, 450, 370]
Du kannst deinen Code auch mit einer Lambda-Funktion in eine einzige Zeile umwandeln und so gefilterte Elemente bekommen.
item_price = [230, 400, 450, 350, 370]
# lambda function with filter()
filtered_price = filter(lambda a: a > 350, item_price)
print(list(filtered_price))
# [400, 450, 370]
Mehr über Listenmethoden und -funktionen erfährst du in diesem Video aus unserem Kurs Einführung in Python für Finanzen.
Dieser Inhalt ist aus dem Kurs „Einführung in Python für Finanzen“ von Adina Howe bei DataCamp.
Python-Listenfunktionen und -methoden – Häufig gestellte Fragen
Was ist eine Liste in Python?
Eine der wichtigsten eingebauten Datenstrukturen in Python ist das Speichern von beliebig vielen Elementen. Die Hauptmerkmale von Python-Listen sind, dass sie iterierbar, geordnet, indiziert und veränderbar sind und doppelte Werte zulassen.
Wie erstellt man eine Liste in Python?
Schreib eine Reihe von Sachen in eckige Klammern und trenn sie durch Kommas, z. B. ['Kuchen', 'Eiscreme', 'Donut']. Du kannst auch die eingebaute Funktion list() mit doppelten Klammern nehmen: list(('Kuchen', 'Eis', 'Donut')). Um eine leere Liste zu erstellen, nimm leere eckige Klammern ([]) oder die Funktion list() ohne Argumente (list()). Normalerweise wird eine Python-Liste einer Variablen zugewiesen, damit man sie später weiterverwenden kann.
Wofür benutzt man eine Python-Liste?
Wenn wir mehrere zusammengehörige Elemente, die in einer bestimmten Reihenfolge angeordnet sind, zusammenhalten müssen, auch wenn sie unterschiedliche Datentypen haben und/oder Duplikate enthalten. Dann wollen wir diese Elemente ändern, hinzufügen oder entfernen und die gleichen Vorgänge auf mehrere Werte gleichzeitig anwenden können.
Was für Sachen kann eine Python-Liste haben?
Alle Arten von Python-Objekten, sowohl einfache (Ganzzahlen, Gleitkommazahlen, Zeichenfolgen, Boolesche Werte) als auch komplexe (andere Listen, Tupel, Wörterbücher usw.). In einer Python-Liste können verschiedene Datentypen vorkommen, z. B. [„cake“, 1, 3.14, [0, 2]], was diese Datenstruktur echt flexibel macht.
Ist eine Python-Liste sortiert?
Ja. Die Elemente einer Python-Liste haben eine feste Reihenfolge, was diese Datenstruktur auch indexiert macht. Jedes Element einer Python-Liste hat einen Index, der seiner Position in der Liste entspricht, beginnend bei 0 für das erste Element. Das letzte Element einer Python-Liste hat den Index N-1, wobei N die Anzahl der Elemente in der Liste ist.
Ist eine Python-Liste veränderbar?
Ja. Die Werte der Elemente in einer Python-Liste können nach dem Erstellen der Liste geändert werden, ohne dass die Liste einer Variablen neu zugewiesen werden muss. Die Elemente können auch hinzugefügt oder entfernt werden, was zu einer dynamischen Änderung der Größe der Liste führt.
Lässt eine Python-Liste doppelte Werte zu?
Ja. Weil diese Datenstrukturen geordnet und indiziert sind, kann eine Python-Liste beliebig viele gleiche Elemente haben.
Was ist der Unterschied zwischen Python append() und extend()?
Während man mit der Methode append() ein einzelnes Element am Ende einer Python-Liste hinzufügen kann, kann man mit der Methode extend() mehrere Elemente hinzufügen. Im ersten Fall wird die Länge einer Liste um 1 erhöht, im zweiten Fall wird die Länge um die Anzahl der hinzugefügten Elemente erhöht.
