In diesem Artikel sehen wir, wie Sie die Länge einer Liste in einigen der einfachen Schritte überprüfen und analysieren, welche besser ist.
What is Python List?
Die Liste ist eine Array-Sammlung in Python die in der Lage ist, mehrere Datentypen darin zu speichern. 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 kann 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, 'Geekflare', 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 erstellt wurde quadratisch Klammer ([]), Konstruktorliste ist 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.
Methods to find List Length
- len() eingebaute Funktion
- length_hint-Methode vom Operator
- benutzerdefinierte Funktion & Zähler
Method 1: len() inbuilt function
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.
Beispiel-Snippet
languages = ['Python', 'Java', 'C++', 'PHP', 'nodeJS']
languages_length = len(languages)
print('Length of the Language List is: ',languages_length)
Output
Length of the Language List is: 5
Ich hoffe, Sie haben Python installiert, wenn nicht, können Sie eine verwenden Online-Python-Compiler um den Code zu üben.
Method 2: length_hint method from operator
Länge_Hinweis 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.
Beispiel-Snippet
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)
Output
Length of the Language List using Operator is: 5
Method 3: Custom function & counter
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
Beispiel-Snippet
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)
Output
Length of the Language List using Custom function is: 5
Analysing those 3 methods
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)
Output
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 Länge_Hinweis is Schneller(3.0621886253356934e-06), wenn es sich um Millionendaten handelt. 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)
Output
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 len () is 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.
Conclusion
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.