logo

Iterieren Sie eine Liste in Python

Der Aufführen entspricht Arrays in anderen Sprachen, hat aber den zusätzlichen Vorteil, dass es eine dynamische Größe hat.

In Python , die Liste ist eine Art Container in Datenstrukturen, der zum gleichzeitigen Speichern mehrerer Daten verwendet wird. nicht wie Sets , Listen in Python sind geordnet und haben eine bestimmte Anzahl. In diesem Artikel erfahren Sie, wie Sie in Python über eine Liste iterieren und auch eine Python-Schleife durch eine Liste von Zeichenfolgen durchführen.



Python iteriert über eine Liste

Sehen wir uns die verschiedenen Möglichkeiten zum Durchlaufen einer Liste in Python und den Leistungsvergleich zwischen ihnen an.

Mit der For-Schleife eine Liste durchlaufen

Wir können eine Liste in Python mit einer einfachen Iteration durchlaufen For-Schleife .

Python3








# Python3 code to iterate over a list> list> => [>1>,>3>,>5>,>7>,>9>]> > # Using for loop> for> i>in> list>:> >print>(i)>

>

>

Ausgabe

1 3 5 7 9>

Zeitkomplexität: O(n) – wobei n die Anzahl der Elemente in der Liste ist.
Nebenraum: O(1) – da wir keinen zusätzlichen Platz verbrauchen.

Durchlaufen Sie eine Liste mit f oder Schleife und Bereich()

Für den Fall, dass wir die traditionelle for-Schleife verwenden möchten, die von Nummer x zu Nummer y iteriert.

Python3




# Python3 code to iterate over a list> list> => [>1>,>3>,>5>,>7>,>9>]> > # getting length of list> length>=> len>(>list>)> > # Iterating the index> # same as 'for i in range(len(list))'> for> i>in> range>(length):> >print>(>list>[i])>

>

>

Ausgabe

1 3 5 7 9>

Zeitkomplexität: O(n), wobei n die Länge der Eingabeliste ist.
Nebenraum: O(1), was ein konstanter Raum ist

Durchlaufen Sie eine Liste in Python mit eine While-Schleife

Wir können auch mit a über eine Python-Liste iterieren while-Schleife .

Python3




# Python3 code to iterate over a list> list> => [>1>,>3>,>5>,>7>,>9>]> > # Getting length of list> i>=> 0> > # Iterating using while loop> while> i <>len>(>list>):> >print>(>list>[i])> >i>+>=> 1>

>

>

Ausgabe

1 3 5 7 9>

Zeitkomplexität: O(n) wobei n die Länge der Liste ist.
Nebenraum: O(1), da nur eine konstante Menge an zusätzlichem Platz für die Variablen i und Länge verwendet wird.

Durchlaufen Sie eine Liste mit Listenverständnis

Wir können benutzen Listenverständnis (möglicherweise der konkreteste Weg), eine Liste in Python zu durchlaufen.

Python3




# Python3 code to iterate over a list> list> => [>1>,>3>,>5>,>7>,>9>]> > # Using list comprehension> [>print>(i)>for> i>in> list>]>

>

>

Ausgabe

1 3 5 7 9>

Mit enumerate() eine Liste in Python durchlaufen

Wenn wir die Liste in eine iterierbare Liste von Tupeln umwandeln möchten (oder den Index basierend auf einer Bedingungsprüfung erhalten möchten, z. B. bei der linearen Suche müssen Sie möglicherweise den Index des minimalen Elements speichern), können Sie Folgendes verwenden enumerate()-Funktion .

Python3




# Python3 code to iterate over a list> list> => [>1>,>3>,>5>,>7>,>9>]> > # Using enumerate()> for> i, val>in> enumerate>(>list>):> >print> (i,>','>,val)>

>

Formatieren Sie das Datum in Java

>

Ausgabe

0 , 1 1 , 3 2 , 5 3 , 7 4 , 9>

Notiz: Sogar Methode 2 kann verwendet werden, um den Index zu finden, Methode 1 jedoch nicht (es sei denn, bei jeder Iteration wird eine zusätzliche Variable erhöht), und Methode 5 liefert eine prägnante Darstellung dieser Indizierung.

Durchlaufen Sie eine Liste in Python mit der Funktion iter und der Funktion next

Hier ist ein zusätzlicher Ansatz unter Verwendung der Funktion it und der Funktion next:

Python3




# Python3 code to iterate over a list> list> => [>1>,>3>,>5>,>7>,>9>]> # Create an iterator object using the iter function> iterator>=> iter>(>list>)> # Use the next function to retrieve the elements of the iterator> try>:> >while> True>:> >element>=> next>(iterator)> >print>(element)> except> StopIteration:> >pass>

>

>

Ausgabe

1 3 5 7 9>

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

Mit der Funktion „map()“ über eine Liste in Python iterieren

Benutzen Sie die Karte() Funktion, um eine Funktion auf jedes Element einer Liste anzuwenden.

Python3




# Define a function to print each element> def> print_element(element):> >print>(element)> # Create a list> my_list>=> [>1>,>3>,>5>,>7>,>9>]> # Use map() to apply the print_element() function to each element of the list> result>=> map>(print_element, my_list)> # Since map() returns an iterator, we need to consume> # the iterator in order to see the output> for> _>in> result:> >pass>

>

>

Ausgabe

1 3 5 7 9>

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

Python iteriert über mehrere Listen mit der Funktion zip()

In diesem Beispiel wird die Funktion zip() verwendet, um gleichzeitig Elemente aus zwei Listen, list1 und list2, zu durchlaufen und entsprechende Elemente in Tupeln für den anschließenden Druck zusammenzufassen.

Python3




list1>=> [>1>,>2>,>3>]> list2>=> [>'p'>,>'q'>,>'r'>]> # Using zip() to iterate over multiple lists simultaneously> for> i1, i2>in> zip>(list1, list2):> >print>(f>'{i1} ->{i2}'>)>

>

>

Ausgabe

1 ->p 2 -> q 3 -> r>

Mit NumPy über eine Liste in Python iterieren

Für sehr große n-dimensionale Listen (z. B. ein Bildarray) ist es manchmal besser, eine externe Bibliothek zu verwenden, z Numpy . Wir können np verwenden. enumerate(), um das Verhalten der Aufzählung nachzuahmen. Die zusätzliche Leistung von NumPy ergibt sich aus der Tatsache, dass wir sogar die Art und Weise steuern können, wie die Elemente aufgerufen werden (z. B. Fortran-Reihenfolge statt C-Reihenfolge :)), aber die einzige Einschränkung besteht darin, dass der np.nditer das Array als schreibgeschützt behandelt Standard, daher müssen zusätzliche Flags wie op_flags=['readwrite'] übergeben werden, damit Elemente geändert werden können.

Python3




import> numpy as geek> # creating an array using> # arrange method> a>=> geek.arange(>9>)> # shape array with 3 rows> # and 4 columns> a>=> a.reshape(>3>,>3>)> # iterating an array> for> x>in> geek.nditer(a):> >print>(x)>

>

>

Ausgabe:

0 1 2 3 4 5 6 7 8>

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