logo

So ermitteln Sie die Länge einer Liste in Python

List ist ein integraler Bestandteil der Python-Programmierung und muss von allen Python-Benutzern erlernt werden. Kenntnisse über seine Nützlichkeit und Funktionsweise sind unerlässlich und immer von Vorteil.

Viele Operationen werden in Listen ausgeführt, aber in diesem Artikel besprechen wir die Länge einer Liste. Die Länge einer Liste gibt an, aus wie vielen Elementen sie besteht. Wir werden uns 8 verschiedene Methoden ansehen, um die Länge einer Liste zu ermitteln Python .

Beispiel:



  Input:   lst = [10,20,30,40]   Output:   4   Explanation:   The output is 4 because the length of the list is 4.>

Ermitteln Sie die Länge einer Liste in Python

Nachfolgend sind die Methoden aufgeführt, die wir in diesem Artikel behandeln:

1. Ermitteln Sie die Länge einer Liste mithilfe der Funktion len()

Python nur() Funktion ist eine in Python integrierte Funktion. Es kann verwendet werden, um die Länge eines Objekts zu ermitteln, indem das Objekt in den Klammern der len-Funktion übergeben wird.

Python3




# Python len()> li>=> [>10>,>20>,>30>]> n>=> len>(li)> print>(>'The length of list is: '>, n)>

>

>

Ausgabe:

The length of list is: 3>

Zeitkomplexität: O(n), wobei n die Länge der Liste ist
Hilfsraum: O(1)

2. Ermitteln Sie die Länge einer Liste mithilfe der naiven Methode

Bei dieser Methode führt man einfach eine Schleife aus und erhöht den Zähler bis zum letzten Element der Liste, um dessen Anzahl zu ermitteln. Dies ist die grundlegendste Strategie, die möglicherweise angewendet werden kann, wenn derzeit keine anderen Techniken vorhanden sind.

Python3




# Initializing list> test_list>=> [>1>,>4>,>5>,>7>,>8>]> # Printing test_list> print>(>'The list is : '> +> str>(test_list))> # Finding length of list using loop> # Initializing counter> counter>=> 0> for> i>in> test_list:> ># incrementing counter> >counter>=> counter>+> 1> # Printing length of list> print>(>'Length of list using naive method is : '> +> str>(counter))>

>

>

Ausgabe:

The list is : [1, 4, 5, 7, 8] Length of list using naive method is : 5>

Zeitkomplexität: An)
Hilfsraum: O(1)

Schlaf in js

3. Ermitteln Sie die Länge einer Liste mithilfe der Methode length_hint()

Diese Technik ist eine weniger bekannte Technik zum Ermitteln der Listenlänge. Diese spezielle Methode ist in der Operatorklasse definiert und kann auch die Nummer angeben. der in der Liste vorhandenen Elemente. Hier ermitteln wir die Länge einer Liste mithilfe von len() und length_hint()

Python3




from> operator>import> length_hint> # Initializing list> test_list>=> [>1>,>4>,>5>,>7>,>8>]> # Printing test_list> print>(>'The list is : '> +> str>(test_list))> # Finding length of list using len()> list_len>=> len>(test_list)> # Finding length of list using length_hint()> list_len_hint>=> length_hint(test_list)> # Printing length of list> print>(>'Length of list using len() is : '> +> str>(list_len))> print>(>'Length of list using length_hint() is : '> +> str>(list_len_hint))>

>

>

Ausgabe :

Git-Befehle für Push
The list is : [1, 4, 5, 7, 8] Length of list using len() is : 5 Length of list using length_hint() is : 5>

4. Ermitteln Sie die Länge einer Liste mithilfe der Funktion sum()

Verwenden Sie die Iteration innerhalb der Summe und fügen Sie mit jeder Iteration eins hinzu. Am Ende der Iteration erhalten wir die Gesamtlänge der Liste.

Python3




# Initializing list> test_list>=> [>1>,>4>,>5>,>7>,>8>]> # Printing test_list> print>(>'The list is : '> +> str>(test_list))> # Finding length of list> # using sum()> list_len>=> sum>(>1> for> i>in> test_list)> # Printing length of list> print>(>'Length of list using len() is : '> +> str>(list_len))> print>(>'Length of list using length_hint() is : '> +> str>(list_len))>

>

>

Ausgabe:

The list is : [1, 4, 5, 7, 8] Length of list using len() is : 5 Length of list using length_hint() is : 5>

5. Ermitteln Sie die Länge einer Liste mithilfe eines Listenverständnisses

Initialisieren Sie eine Liste mit dem Namen test_list mit einigen Werten, dann initialisieren Sie eine Variable namens „length“ auf 0. Verwenden Sie ein Listenverständnis, um eine Folge von Einsen für jedes Element in der test_list zu generieren.

Dadurch wird eine Liste mit derselben Länge wie die test_list erstellt. Verwenden Sie nun die Funktion sum(), um alle Einträge in der von generierten Liste zu summieren Listenverständnis . Weisen Sie die Summe der Längenvariablen zu. Drucken Sie die Längenvariable.

Python3




# Define the list to be used for the demonstration> test_list>=> [>1>,>4>,>5>,>7>,>8>]> # Calculate the length of the list using a list comprehension and the sum function> # The list comprehension generates a sequence of ones for each element in the list> # The sum function then sums all the ones to give the length of the list> length>=> sum>(>1> for> _>in> test_list)> # Print the length of the list> print>(>'Length of list using list comprehension is:'>, length)>

>

>

Ausgabe

Length of list using list comprehension is: 5>

Zeitkomplexität: Das Listenverständnis erstellt eine neue Liste mit einer Länge, die der Länge der test_list entspricht. Die Funktion sum() durchläuft dann diese Liste, um die Summe zu berechnen. Daher beträgt die zeitliche Komplexität dieses Algorithmus O(N), wobei N die Länge der test_list ist.
Hilfsraum: Der Algorithmus erstellt mithilfe des Listenverständnisses eine neue Liste von Einsen mit einer Länge, die der Länge der test_list entspricht. Daher beträgt die Komplexität des Hilfsraums auch O(N), wobei N die Länge der test_list ist.

6. Ermitteln Sie die Länge einer Liste mithilfe der Rekursion

Wir können a verwenden rekursive Funktion das braucht eine Liste lst als Eingabe und ruft sich rekursiv auf und übergibt dabei einen Ausschnitt der Liste, der das erste Element ausschließt, bis die Liste leer ist.

Der Basisfall liegt vor, wenn die Liste leer ist. In diesem Fall gibt die Funktion 0 zurück. Andernfalls wird 1 zum Ergebnis des Funktionsaufrufs für den Rest der Liste hinzugefügt.

Python3




Zeichenfolge im Array c

# Define a function to count the number of elements in a list using recursion> def> count_elements_recursion(lst):> ># Base case: if the list is empty, return 0> >if> not> lst:> >return> 0> ># Recursive case: add 1 to the count of the remaining elements in the list> >return> 1> +> count_elements_recursion(lst[>1>:])> # Test the function with a sample list> lst>=> [>1>,>2>,>3>,>4>,>5>]> print>(>'The length of the list is:'>, count_elements_recursion(lst))> # Output: The length of the list is: 5>

>

>

Ausgabe

The length of the list is: 5>

Zeitkomplexität: O(n) wobei n die Länge der Liste ist. Dies liegt daran, dass die Funktion n rekursive Aufrufe durchführt, die jeweils O(1) Zeit benötigen, und außerdem auf jeder Ebene außerhalb des rekursiven Aufrufs O(1) Arbeit geleistet wird.
Raumkomplexität: O(n) wobei n die Länge der Liste ist. Dies liegt daran, dass die Funktion aufgrund der rekursiven Aufrufe n Stapelrahmen auf dem Aufrufstapel erstellt.

7. Ermitteln Sie die Länge einer Liste mithilfe der Funktion enumerate()

Python aufzählen() Die Methode fügt einem iterierbaren Zähler einen Zähler hinzu und gibt ihn in Form eines Aufzählungsobjekts zurück.

Python3




# python code to find the length> # of list using enumerate function> list1>=> [>1>,>4>,>5>,>7>,>8>]> s>=> 0> for> i, a>in> enumerate>(list1):> >s>+>=> 1> print>(s)>

>

>

Ausgabe

5>

8. Ermitteln Sie die Länge einer Liste mithilfe von Sammlungen

Alternativ können Sie auch die verwenden Summe() Funktion zusammen mit der Methode „values()“ der Sammlungen Zählerobjekt, um die Länge der Liste zu ermitteln.

Python3




from> collections>import> Counter> # Initializing list> test_list>=> [>1>,>4>,>5>,>7>,>8>]> # Finding length of list using Counter()> list_len>=> sum>(Counter(test_list).values())> print>(>'Length of list using Counter() is:'>, list_len)> # This code is contributed by Edula Vinay Kumar Reddy>

>

>

Ausgabe

Length of list using Counter() is: 5>

Zeitkomplexität: O(n), wobei n die Länge der Liste ist. Dies liegt daran, dass die Funktion Counter() eine Zeitkomplexität von O(n) hat, wenn sie auf eine Liste der Länge n angewendet wird, und dass die Methode Values() und die Funktion sum() beide eine Zeitkomplexität von O(n) haben, wenn sie angewendet werden zu einer Liste der Länge n.
Die Raumkomplexität: O(n) erstellt als Counter()-Funktion ein Wörterbuch mit n Schlüssel-Wert-Paaren, die jeweils ein Element und dessen Anzahl in der Liste darstellen. Dieses Wörterbuch nimmt O(n) Platz ein.

Leistungsanalyse: Naive vs. Python len() vs. Python length_hint()

Bei der Wahl zwischen Alternativen ist es immer notwendig, einen triftigen Grund zu haben, warum man sich für eine Alternative entscheidet. In diesem Abschnitt wird eine Zeitanalyse durchgeführt, wie viel Zeit es dauert, alle auszuführen, um eine bessere Auswahl zu bieten.

Python3




from> operator>import> length_hint> import> time> # Initializing list> test_list>=> [>1>,>4>,>5>,>7>,>8>]> # Printing test_list> print>(>'The list is : '> +> str>(test_list))> # Finding length of list> # using loop> # Initializing counter> start_time_naive>=> time.time()> counter>=> 0> for> i>in> test_list:> ># incrementing counter> >counter>=> counter>+> 1> end_time_naive>=> str>(time.time()>-> start_time_naive)> # Finding length of list> # using len()> start_time_len>=> time.time()> list_len>=> len>(test_list)> end_time_len>=> str>(time.time()>-> start_time_len)> # Finding length of list> # using length_hint()> start_time_hint>=> time.time()> list_len_hint>=> length_hint(test_list)> end_time_hint>=> str>(time.time()>-> start_time_hint)> # Printing Times of each> print>(>'Time taken using naive method is : '> +> end_time_naive)> print>(>'Time taken using len() is : '> +> end_time_len)> print>(>'Time taken using length_hint() is : '> +> end_time_hint)>

>

>

Ausgabe:

The list is : [1, 4, 5, 7, 8] Time taken using naive method is : 2.6226043701171875e-06 Time taken using len() is : 1.1920928955078125e-06 Time taken using length_hint() is : 1.430511474609375e-06>

In den folgenden Bildern ist deutlich zu erkennen, dass die Zeit in Anspruch genommen wird naiv>> length_hint()> len() , aber die benötigte Zeit hängt stark vom Betriebssystem und mehreren seiner Parameter ab.

In zwei aufeinanderfolgenden Durchläufen erhalten Sie möglicherweise gegensätzliche Ergebnisse. Tatsächlich benötigt Naive manchmal von drei Durchläufen die kürzeste Zeit. Alle möglichen 6 Permutationen sind möglich.

naiv> len()> length_hint()

naiv> len()=length_hint()

naiv> length_hint()>len()

naiv> length_hint()> len()

Wir haben 8 verschiedene Methoden besprochen, um die Länge einer Liste in Python zu ermitteln. Wir haben auch eine Leistungsanalyse durchgeführt, um zu prüfen, welche Methode die beste ist.

Sie können jede der oben genannten Methoden verwenden, um die Länge einer Liste zu ermitteln. Das Ermitteln der Listenlänge ist sehr nützlich, wenn Sie mit großen Listen arbeiten und die Anzahl der Einträge überprüfen möchten.

So sortieren Sie ein Array in Java

Schauen Sie sich weitere Seiten mit Python-Listen an: