Arreglar el Python error Int Object Is Not Iterable

Haider Ali 10 octubre 2023
Arreglar el Python error Int Object Is Not Iterable

Este error en sí mismo se explica por sí mismo. El objeto 'int' no es iterable, está diciendo claramente que no puede ejecutar la iteración en un número entero. Un número entero es un solo dígito, no una lista iterable. Echemos un vistazo a algunos ejemplos.

Corregir el error 'int' object is not iterable en Python

Cualquier cosa que devuelva o almacene un número entero no es iterable. Eso es conocimiento común. Si no está familiarizado con él, entendamos la iteración en python. La iteración se puede hacer sobre una lista, no sobre un número entero. Por ejemplo, no puede ejecutar un bucle de iteración en un número entero; simplemente no tiene sentido. Echa un vistazo al siguiente código.

# integer
number = 123

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

Ejecutar el código anterior le dará el mismo error que está tratando de evitar. En el código anterior, number es un número entero que tiene un único valor 123. No se puede ejecutar un bucle sobre él. Si está confundido acerca del tipo de datos y sus funcionalidades relevantes, puede resolverlo fácilmente encontrando los métodos mágicos. En este caso, usaremos un número entero. Echar un vistazo.

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

La salida del código anterior será la siguiente.

[
    "__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",
]

Como puede ver, no puede encontrar el método iterador en la lista anterior. Veamos cuál es la diferencia cuando se trata de una lista.

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

El código anterior no dará ningún error. Puede iterar sobre una lista. Si ejecuta el código anterior, también notará la función _iter_ en él, indicando que puede usar la iteración en una lista.

Autor: 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

Artículo relacionado - Python Error