In diesem Artikel sehen wir, wie Sie die Länge einer Liste in einigen der einfachen Schritte überprüfen und analysieren, welche besser ist.
Inhaltsverzeichnis
Was ist Python-Liste?
Die Liste ist eine Array-Sammlung in Python, die mehrere Datentypen darin speichern kann. Es kann eine Ganzzahl, Float, String, Boolean oder sogar eine Liste innerhalb einer Liste speichern.
int_list = [1, 2, 3, 4, 5] print(int_list) # output -> [1, 2, 3, 4, 5] float_list = [1.1, 2.2, 3.3, 4.4, 5.5] print(float_list) # output -> [1.1, 2.2, 3.3, 4.4, 5.5] string_list = ['Geekflare', 'Cloudflare', 'Amazon'] print(string_list) # output -> ['Geekflare', 'Cloudflare', 'Amazon'] boolean_list = [True, False] print(boolean_list) # output -> [True, False] nested_list = [[1, 2], [1.1, 2.2], ['Geekflare', 'Cloudflare'], [True, False]] print(nested_list) # [[1, 2], [1.1, 2.2], ['Geekflare', 'Cloudflare'], [True, False]] different_datatype_list = [1, 1.1, 'Geekflare', True, [1, 1.1, 'Geekflare', True]] print(different_datatype_list) # output -> [1, 1.1, 'Geekflare', True, [1, 1.1, 'Geekflare', True]]
Python-Listen können mit einer eckigen Klammer oder einer Listenkonstruktorfunktion erstellt werden.
square_bracket_list = [1, 1.1, 'Geekflare', True, [1, 1.1, 'Geekflare', True]] print(square_bracket_list) # output -> [1, 1.1, 'Geekflare', True, [1, 1.1, 'Geekflare', True]] constructor_list = list((1, 1.1, 'wdzwdz', True, [1, 1.1, 'Geekflare', True])) print(constructor_list) # output -> [1, 1.1, 'Geekflare', True, [1, 1.1, 'Geekflare', True]]
Die obige square_bracket_list ist eine Liste, die mit eckigen Klammern ([]), ist constructor_list eine Liste, die mit dem Listenkonstruktor erstellt wurde. Beide erzeugen nur die gleiche Listenausgabe.
Die Liste kann veränderbar sein, Duplikate zulassen und über einen Index zugänglich sein.
Methoden zum Ermitteln der Listenlänge
- len() eingebaute Funktion
- length_hint-Methode vom Operator
- benutzerdefinierte Funktion & Zähler
Methode 1: len() eingebaute Funktion
len() ist eine in Python eingebaute Funktion, die verwendet wird, um die Länge der Liste und auch für andere Iterables wie Set, Tuples, Dictionary zu ermitteln.
Beispielausschnitt
languages = ['Python', 'Java', 'C++', 'PHP', 'nodeJS'] languages_length = len(languages) print('Length of the Language List is: ',languages_length)
Ausgabe
Length of the Language List is: 5
Ich hoffe, Sie haben Python installiert, wenn nicht, können Sie einen Online-Python-Compiler verwenden, um den Code zu üben.
Methode 2: length_hint-Methode vom Operator
length_hint wird verwendet, um eine Länge eines iterierbaren Objekts (wie List, Set, Tuples, Dictionary) zurückzugeben. Es ist im Python-Operatormodul verfügbar. Nicht verfügbar wie andere eingebaute Operatoren.
Beispielausschnitt
import operator languages = ['Python', 'Java', 'C++', 'PHP', 'nodeJS'] languages_length = operator.length_hint(languages) print('Length of the Language List using Operator is: ',languages_length)
Ausgabe
Length of the Language List using Operator is: 5
Methode 3: Benutzerdefinierte Funktion und Zähler
Bei dieser Methode zum Ermitteln der Länge der Liste verwenden wir die traditionelle Methode, indem wir for-Schleife und Zähler verwenden.
Dafür schreiben wir eine Funktion in Python. die eine Liste oder eine andere Iterable als Argument nimmt und die Länge einer Iterable zurückgibt.
Benutzerdefiniertes Funktions-Snippet
def iterable_count(iterable): length = 0 for item in iterable: length+=1 return length
Beispielausschnitt
def iterable_count(iterable): length = 0 for item in iterable: length+=1 return length languages = ['Python', 'Java', 'C++', 'PHP', 'nodeJS'] languages_length = iterable_count(languages) print('Length of the Language List using Custom function is: ',languages_length)
Ausgabe
Length of the Language List using Custom function is: 5
Analyse dieser 3 Methoden
Leistungsanalyse für eine große Liste
import timeit # for benchmarking & profiling import operator def iterable_count(iterable): length = 0 for item in iterable: length+=1 return length integer_list = list(range(1, 9999999)) #length check using len() start_time = timeit.default_timer() len_length = len(integer_list) print(timeit.default_timer() - start_time, 'Length of the Integer List using len() is: ',len_length) #length check using operator.length_hint start_time = timeit.default_timer() len_length = operator.length_hint(integer_list) print(timeit.default_timer() - start_time, 'Length of the Integer List using length_hint is: ',len_length) start_time = timeit.default_timer() iterable_count_length = iterable_count(integer_list) print(timeit.default_timer() - start_time, 'Length of the Integer List using Custom function is: ',iterable_count_length)
Ausgabe
3.957189619541168e-06 Length of the Integer List using len() is: 9999998 3.0621886253356934e-06 Length of the Integer List using length_hint is: 9999998 0.4059128537774086 Length of the Integer List using Custom function is: 9999998
Wie wir sehen können, ist length_hint schneller (3.0621886253356934e-06), wenn Daten in Millionenhöhe vorliegen. Dies liegt daran, dass Längenhinweise von der CPython-Laufzeit verwendet werden. Wo es als Python-Wrapper bezeichnet wird.
Leistungsanalyse für eine kleine Liste
import timeit # for benchmarking & profiling import operator def iterable_count(iterable): length = 0 for item in iterable: length+=1 return length integer_list = list(range(1, 100)) #length check using len() start_time = timeit.default_timer() len_length = len(integer_list) print(timeit.default_timer() - start_time, 'Length of the Integer List using len() is: ',len_length) #length check using operator.length_hint start_time = timeit.default_timer() len_length = operator.length_hint(integer_list) print(timeit.default_timer() - start_time, 'Length of the Integer List using length_hint is: ',len_length) start_time = timeit.default_timer() iterable_count_length = iterable_count(integer_list) print(timeit.default_timer() - start_time, 'Length of the Integer List using Custom function is: ',iterable_count_length)
Ausgabe
7.813796401023865e-07 Length of the Integer List using len() is: 99 1.1278316378593445e-06 Length of the Integer List using length_hint is: 99 3.462657332420349e-06 Length of the Integer List using Custom function is: 99
Wie wir sehen können, ist len() schneller (7.813796401023865e-07), wenn die Daten in Tausend oder weniger liegen.
In beiden Fällen benötigt unsere benutzerdefinierte Funktion mit Zähler mehr Zeit als beide Methoden.
Fazit
In diesem Artikel verstehen wir verschiedene Möglichkeiten, die Länge der Liste zu überprüfen und wie sie die Länge der Liste schnell überprüfen.