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.
- En utilisant pour la boucle
- Utiliser la boucle for et gamme()
- Utilisant un boucle while
- En utilisant compréhension de liste
- En utilisant énumérer() méthode
- En utilisant le fonction iter et le fonction suivante
- En utilisant le fonction carte()
- Utilisation de la fonction zip()
- En utilisant NumPy module
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)