Listen werden in Python fast überall verwendet. In diesem Tutorial sehen wir uns vier Methoden an, um die Länge einer Python-Liste zu bestimmen: mithilfe eingebauter Funktionen, Rekursion und einer Schleife. Die Kenntnis der Listenlänge ist häufig erforderlich, um über sie zu iterieren und verschiedene Operationen durchzuführen.
len() ist eine eingebaute Python-Funktion zur Ermittlung der Länge einer Liste. Sie nimmt ein Argument entgegen — die Liste selbst — und gibt eine Ganzzahl zurück, die der Länge der Liste entspricht. Dieselbe Funktion funktioniert auch mit anderen iterierbaren Objekten wie Zeichenketten.
Country_list = ["The United States of America", "Cyprus", "Netherlands", "Germany"]
count = len(Country_list)
print("There are", count, "countries")
Output:
There are 4 countries
Sie können die Länge einer Liste in Python mit einer for-Schleife bestimmen. Die Idee besteht darin, die gesamte Liste zu durchlaufen und bei jeder Iteration einen Zähler um 1 zu erhöhen. Fassen wir das in einer eigenen Funktion zusammen:
def list_length(list):
counter = 0
for i in list:
counter = counter + 1
return counter
Country_list = ["The United States of America", "Cyprus", "Netherlands", "Germany", "Japan"]
count = list_length(Country_list)
print("There are", count, "countries")
Output:
There are 5 countries
Dieselbe Aufgabe lässt sich auch mit Rekursion lösen:
def list_length_recursive(list):
if not list:
return 0
return 1 + list_length_recursive(list[1:])
Country_list = ["The United States of America", "Cyprus", "Netherlands","Germany", "Japan", "Poland"]
count = list_length_recursive(Country_list)
print("There are", count, "countries")
Output:
There are 6 countries
Wie es funktioniert. Die Funktion list_length_recursive() erhält eine Liste als Eingabe.
Wenn die Liste leer ist, gibt sie 0 zurück — die Länge einer leeren Liste.
Andernfalls ruft sie sich rekursiv selbst mit dem Argument list[1:] auf, einem Slice der ursprünglichen Liste ab Index 1 (d. h. der Liste ohne das Element an Index 0). Das Ergebnis dieses Aufrufs wird zu 1 addiert. Mit jedem rekursiven Schritt wächst der zurückgegebene Wert um eins, während die Liste um ein Element schrumpft.
Die Funktion length_hint() befindet sich im Modul operator. Dieses Modul enthält Funktionen, die den internen Python-Operatoren entsprechen: Addition, Subtraktion, Vergleich und so weiter. length_hint() gibt die Länge iterierbarer Objekte wie Zeichenketten, Tupel, Wörterbücher und Listen zurück. Sie funktioniert ähnlich wie len():
from operator import length_hint
Country_list = ["The United States of America", "Cyprus", "Netherlands","Germany", "Japan", "Poland", "Sweden"]
count = length_hint(Country_list)
print("There are", count, "countries")
Output:
There are 7 countries
Beachten Sie, dass length_hint() vor der Verwendung importiert werden muss.
In diesem Leitfaden haben wir vier Methoden zur Bestimmung der Länge einer Liste in Python behandelt. Unter gleichen Bedingungen ist die effizienteste Methode len(). Die anderen Ansätze sind hauptsächlich gerechtfertigt, wenn Sie benutzerdefinierte Klassen implementieren, die einer Liste ähneln.