Correction de l'erreur Python Int Object Is Not Iterable

Haider Ali 10 octobre 2023
Correction de l'erreur Python Int Object Is Not Iterable

Cette erreur elle-même est explicite. 'int' object is not iterable, cela signifie clairement que vous ne pouvez pas exécuter d’itération sur un entier. Un entier est un chiffre unique, pas une liste itérable. Jetons un coup d’œil à quelques exemples.

Corriger l’erreur 'int' object is not iterable en Python

Tout ce qui retourne ou stocke un entier n’est pas itérable. C’est de notoriété publique. Si vous n’êtes pas familier avec cela, comprenons l’itération en python. L’itération peut se faire sur une liste, pas sur un entier. Par exemple, vous ne pouvez pas exécuter une boucle d’itération sur un entier ; cela n’a tout simplement pas de sens. Jetez un oeil au code suivant.

# integer
number = 123

# loop over an integer
for i in number:
    print(i)

L’exécution du code ci-dessus vous donnera la même erreur que vous essayez d’éviter. Dans le code ci-dessus, name est un entier ayant une seule valeur 123. Vous ne pouvez pas exécuter une boucle dessus. Si vous êtes confus quant au type de données et à ses fonctionnalités pertinentes, vous pouvez facilement le résoudre en trouvant les méthodes magiques. Dans ce cas, nous allons utiliser un entier. Jetez un coup d’œil.

# integer
number = 123
# built-in / magic  methods of an integer
print(dir(number))

La sortie du code ci-dessus sera la suivante.

[
    "__abs__",
    "__add__",
    "__and__",
    "__class__",
    "__cmp__",
    "__coerce__",
    "__delattr__",
    "__div__",
    "__divmod__",
    "__doc__",
    "__float__",
    "__floordiv__",
    "__format__",
    "__getattribute__",
    "__getnewargs__",
    "__hash__",
    "__hex__",
    "__index__",
    "__init__",
    "__int__",
    "__invert__",
    "__long__",
    "__lshift__",
    "__mod__",
    "__mul__",
    "__neg__",
    "__new__",
    "__nonzero__",
    "__oct__",
    "__or__",
    "__pos__",
    "__pow__",
    "__radd__",
    "__rand__",
    "__rdiv__",
    "__rdivmod__",
    "__reduce__",
    "__reduce_ex__",
    "__repr__",
    "__rfloordiv__",
    "__rlshift__",
    "__rmod__",
    "__rmul__",
    "__ror__",
    "__rpow__",
    "__rrshift__",
    "__rshift__",
    "__rsub__",
    "__rtruediv__",
    "__rxor__",
    "__setattr__",
    "__sizeof__",
    "__str__",
    "__sub__",
    "__subclasshook__",
    "__truediv__",
    "__trunc__",
    "__xor__",
    "bit_length",
    "conjugate",
    "denominator",
    "imag",
    "numerator",
    "real",
]

Comme vous pouvez le voir, vous ne trouvez pas la méthode iterator dans la liste ci-dessus. Voyons quelle est la différence quand il s’agit d’une liste.

# list
lst = [1, 2, 3]
# loop over a list
for j in lst:
    print(j)
# built-in /magic methods of a list
print(dir(lst))

Le code ci-dessus ne donnera aucune erreur. Vous pouvez parcourir une liste. Si vous exécutez le code ci-dessus, vous remarquerez également la fonction _iter_ qui indique que vous pouvez utiliser l’itération sur une liste.

Auteur: Haider Ali
Haider Ali avatar Haider Ali avatar

Haider specializes in technical writing. He has a solid background in computer science that allows him to create engaging, original, and compelling technical tutorials. In his free time, he enjoys adding new skills to his repertoire and watching Netflix.

LinkedIn

Article connexe - Python Error