El objeto int de Python no es iterable

Funciones y métodos de Python

Encontrar un error no es un problema; es una oportunidad de aprendizaje. Mientras desarrollaba en Python, es posible que haya visto un error & ldquo; & lsquo; int & rsquo; el objeto no es iterable & rdquo ;.

¿Qué significa esto? ¿Cómo lo soluciono? Esas son las preguntas que vamos a responder en este artículo. Discutiremos lo que el & ldquo; & lsquo; int & rsquo; el objeto no es iterable & rdquo; El error es, por qué se genera y cómo puede resolverlo.




El problema: typeerror: & lsquo; int & rsquo; el objeto no es iterable

& ldquo; typeerror: & lsquo; int & rsquo; el objeto no es iterable & rdquo;

Hay dos partes en este mensaje de error: TypeError y el mensaje de error.

Se genera un TypeError cuando se aplica una función a un objeto del tipo de datos incorrecto. Por ejemplo, si intenta aplicar una función matemática a una cadena, o llama a un valor como una función que no es una función, se genera un TypeError.

El mensaje de error nos dice que han intentado iterar sobre un objeto que no es iterable . Los objetos iterables son elementos a cuyos valores puede acceder mediante un & ldquo; bucle for & rdquo ;.




Un escenario de práctica

Uno de los escenarios más comunes en los que se genera este error es cuando intenta utilizar un bucle for con un número. Este error se debe a que es fácil olvidarse de usar la función range () cuando está usando un bucle for.

Considere el siguiente fragmento de código:

El 81% de los participantes afirmaron que se sentían más seguros sobre sus perspectivas laborales después de asistir a un bootcamp. Asóciese a un bootcamp hoy.

El graduado promedio de un bootcamp pasó menos de seis meses en la transición profesional, desde comenzar un bootcamp hasta encontrar su primer trabajo.

Este fragmento de código usa una función . La función count_occurance cuenta cuántas veces aparece un número en los & ldquo; valores & rdquo; lista. Esta función itera sobre todos los valores en & ldquo; valores & rdquo; y mantiene un total acumulado de todos aquellos iguales a un número particular. Este número se especifica como un parámetro llamado & ldquo; to_find & rdquo ;.


En nuestro programa principal, definimos una lista llamada & ldquo; valores & rdquo; con cuatro valores. Llamamos a nuestra función count_occurrence para contar cuántos tres hay en nuestra lista de valores. Luego imprimimos enviar la respuesta a la consola.

Ejecutemos nuestro código:

 Traceback (última llamada más reciente): Archivo "main.py", línea 9, en & lt; módulo & gt; check_for_threes = count_occurrence (valores, 3) Archivo "main.py", línea 3, en count_occurrence para v in len ( values): TypeError: el objeto 'int' no es iterable 

¡Oh, no! Se ha producido un error. Ahora que hemos replicado este error, podemos solucionarlo.




La solución

Nuestro error nos dice que hemos intentado iterar sobre un objeto que no es iterable. Si miramos el mensaje de error en detalle, podemos ver e nos apunta a la línea donde ocurre el problema:

 para v en len (valores): 

El problema con esta línea es que estamos tratando de iterar sobre un número.

len (valores) es igual a 4. Ese es el número de valores están en la lista & ldquo; valores & rdquo ;. Si intentamos iterar sobre un número, no sucede nada. Esto se debe a que los bucles for solo funcionan con objetos iterables.

Para resolver este problema, debemos asegurarnos de que nuestro bucle for itera sobre un objeto iterable. Podemos agregar una instrucción range () a nuestro código para hacer esto:

 para v en rango (len (valores)): 

Esta declaración creará un objeto iterable con una lista de valores en el rango de 0 y el número de elementos en los & ldquo; valores & rdquo; list.

Intentemos ejecutar nuestro código nuevamente con la instrucción range () . Nuestro código devuelve:

 2 

Nuestro código tiene encontró con éxito todas las instancias de 3 en la lista. Nuestro código los ha contado todos y luego ha impreso el número total de veces que aparece 3 en la lista en la consola.







Conclusión

Los errores de tipo son comunes tipo de error en Python. Ocurren cuando intenta aplicar una función en un valor del tipo incorrecto. Un objeto & ldquo; & lsquo; int & rsquo; no es iterable & rdquo; se genera un error cuando intenta iterar sobre un valor entero.

Para resolver este error, asegúrese de que está iterando sobre un iterable en lugar de un número.

Ahora está listo para resolver este error como un Pythonista !





El objeto int de Python no es iterable: StackOverflow Questions

Tutorials