logo

Parcourir une liste en Python

Le Liste est équivalent aux tableaux dans d'autres langages, avec l'avantage supplémentaire d'être de taille dynamique.

Dans Python , la liste est un type de conteneur dans les structures de données, utilisé pour stocker plusieurs données en même temps. Contrairement à Ensembles , les listes en Python sont ordonnées et ont un nombre défini. Dans cet article, nous verrons comment parcourir une liste en Python et également parcourir une liste de chaînes en Python.



Python Itérer sur une liste

Voyons toutes les différentes façons de parcourir une liste en Python et la comparaison des performances entre elles.

Parcourez une liste en utilisant la boucle For

Nous pouvons parcourir une liste en Python en utilisant un simple Pour la boucle .

Python3








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

>

>

Sortir

1 3 5 7 9>

Complexité temporelle : O(n) – où n est le nombre d’éléments dans la liste.
Espace auxiliaire : O(1) – car nous n’utilisons aucun espace supplémentaire.

Parcourez une liste en utilisant f ou boucle et range()

Dans le cas où nous souhaitons utiliser la boucle for traditionnelle qui itère du numéro x au numéro y.

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])>

>

>

Sortir

1 3 5 7 9>

Complexité temporelle : O(n), où n est la longueur de la liste d'entrée.
Espace auxiliaire : O(1), qui est un espace constant

Parcourez une liste en Python en utilisant une boucle while

Nous pouvons également parcourir une liste Python en utilisant un boucle while .

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>

>

>

Sortir

1 3 5 7 9>

Complexité temporelle : O(n) où n est la longueur de la liste.
Espace auxiliaire : O(1) car seule une quantité constante d'espace supplémentaire est utilisée pour les variables i et la longueur.

Parcourez une liste en utilisant compréhension de liste

On peut utiliser compréhension de liste (peut-être le moyen le plus concret) pour parcourir une liste en Python.

Python3




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

>

>

Sortir

1 3 5 7 9>

Parcourez une liste en Python en utilisant enumerate()

Si nous voulons convertir la liste en une liste itérable de tuples (ou obtenir l'index basé sur une vérification de condition, par exemple dans une recherche linéaire, vous devrez peut-être enregistrer l'index de l'élément minimum), vous pouvez utiliser le fonction énumérer() .

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)>

>

comment lire le fichier csv en java

>

Sortir

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

Note: Même la méthode 2 peut être utilisée pour trouver l'index, mais la méthode 1 ne le peut pas (à moins qu'une variable supplémentaire ne soit incrémentée à chaque itération) et la méthode 5 donne une représentation concise de cette indexation.

Parcourez une liste en Python en utilisant la fonction iter et la fonction suivante

Voici une approche supplémentaire utilisant la fonction iter et la fonction 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>

>

>

Sortir

1 3 5 7 9>

Complexité temporelle : Sur)
Espace auxiliaire : O(1)

Parcourez une liste en Python à l'aide de la fonction map()

Utilisez le carte() fonction pour appliquer une fonction à chaque élément d’une liste.

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>

>

>

Sortir

1 3 5 7 9>

Complexité temporelle : O(n), où n est la longueur de la liste.
Espace auxiliaire : O(1)

Python Itérer sur plusieurs listes à l'aide de la fonction zip()

Dans cet exemple, la fonction zip() est utilisée pour parcourir simultanément les éléments de deux listes, list1 et list2, en associant les éléments correspondants dans des tuples pour une impression ultérieure.

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}'>)>

>

>

Sortir

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

Parcourir une liste en Python à l'aide de NumPy

Pour de très grandes listes à n dimensions (par exemple un tableau d'images), il est parfois préférable d'utiliser une bibliothèque externe telle que numpy . Nous pouvons utiliser np. enumerate() pour imiter le comportement de l'énumération. La puissance supplémentaire de NumPy vient du fait que nous pouvons même contrôler la manière de visiter les éléments (ordre Fortran plutôt que C, disons :)), mais la seule mise en garde est que np.nditer traite le tableau en lecture seule par par défaut, il faut donc passer des indicateurs supplémentaires tels que op_flags=['readwrite'] pour pouvoir modifier des éléments.

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)>

>

>

Sortir:

0 1 2 3 4 5 6 7 8>

Complexité temporelle : Sur)
Espace auxiliaire : O(1)