Itérable en Python#
En Python, un itérable est un objet qui peut par exemple être utilisé dans une boucle for
. Cela signifie que vous pouvez parcourir chaque élément de l’itérable un par un et effectuer une action sur chacun d’eux.
Voici quelques exemples d’itérables en Python :
Les listes
Les tuples
Les chaînes de caractères
Les objets
range()
Voici comment utiliser une boucle for
pour parcourir chaque caractère d’une chaîne de caractères :
[1]:
ma_chaine = "Bonjour"
for caractere in ma_chaine:
print(caractere)
B
o
n
j
o
u
r
Pour savoir si un objet est itérable en Python, vous pouvez utiliser la fonction iter()
intégrée. Cette fonction prend un objet en argument et retourne un objet itérateur s’il est itérable, ou une exception TypeError
s’il n’est pas itérable.
Voici comment utiliser la fonction iter()
pour vérifier si un objet est itérable :
[2]:
# Exemple : vérifier si une liste est itérable
ma_liste = [1, 2, 3, 4, 5]
try:
iterateur = iter(ma_liste)
print("ma_liste est itérable")
except TypeError:
print("ma_liste n'est pas itérable")
# Exemple : vérifier si un entier est itérable
mon_entier = 42
try:
iterateur = iter(mon_entier)
print("mon_entier est itérable")
except TypeError:
print("mon_entier n'est pas itérable")
ma_liste est itérable
mon_entier n'est pas itérable
Vous pouvez également utiliser la fonction iter()
pour obtenir un itérateur à partir d’un itérable, comme ceci :
[3]:
ma_liste = [1, 2, 3, 4, 5]
iterateur = iter(ma_liste)
print(iterateur)
<list_iterator object at 0x0000027E109BDB20>
Un itérateur est un objet qui permet de parcourir un itérable de manière séquentielle. Vous pouvez ainsi utiliser l”itérateur pour parcourir l”itérable, en utilisant la fonction next()
:
[4]:
ma_liste = [1, 2, 3, 4, 5]
iterateur = iter(ma_liste)
print(next(iterateur)) # affiche : 1
print(next(iterateur)) # affiche : 2
print(next(iterateur)) # affiche : 3
print(next(iterateur)) # affiche : 4
print(next(iterateur)) # affiche : 5
1
2
3
4
5
Si vous essayez d’utiliser encore la fonction next()
alors qu’il n’y a plus d’autres éléments, vous obtiendrez une erreur comme dans l’exemple suivant :
[5]:
print(next(iterateur))
---------------------------------------------------------------------------
StopIteration Traceback (most recent call last)
Cell In[5], line 1
----> 1 print(next(iterateur))
StopIteration: