Índice de listas fuera de la gama Python

Índice de listas fuera de la gama Python

En Python, Índice es uno de los errores de tiempo de ejecución más común. El error ocurre cada vez que intenta obtener un valor de índice que no se presenta dentro de una lista de Python. A veces, la pequeña depuración puede resolver su error de índice. Hay dos razones detrás de la ocurrencia de este error. La primera razón detrás de este error es cuando intenta atravesar una lista y no recuerda que los índices de las listas están comenzando desde cero. En segundo lugar, cuando no usa la función de rango () para atravesar una lista. En esta guía, hablaremos sobre este error en detalle y sugeriremos formas de resolverlo. Con la ayuda de ejemplos, discutimos cómo funciona.

Ejemplo 1:

En este ejemplo, imprimimos todos los elementos presentes en una lista llamada "AHOS_NAME"Y verifique cómo ocurre el error de" Índice de lista fuera de rango ". Hacemos todo esto usando el compilador Spyder en Windows 10. Por lo tanto, simplemente inicie Spyder IDE, cree un nuevo archivo en el menú del archivo y procese más a fondo para la implementación del programa.

En nuestro código del programa, primero declaramos e inicializamos dos variables. La primera variable, "AHOS_NAME"Almacena la lista de autos que queremos mostrar en la pantalla de la consola. El "contarSe utiliza la variable para guardar cuántos elementos hemos mostrado en la pantalla.

A continuación, estamos usando un bucle de tiempo. Mientras que Loop muestra el valor del "AHOS_NAME"En el punto de índice guardado en"contar". Este bucle itera hasta el valor de "contar"Satisface la condición dada.

Cars_name = ["Honda", "Cívico", "Corolla"]
Recuento = 0
Mientras cuenta <= len(cars_name)
Imprimir (Cars_Name [Count])
Recuento += 1

Después de guardar el archivo y especificar su nombre, ejecutamos nuestro código de programa para verificar el error. El error se ha mostrado en la siguiente captura de pantalla.

Todos los elementos de nuestra lista se muestran en la pantalla de la consola, pero un ""error de índice" ocurrió. El problema ocurre porque el bucle itera continuamente hasta que el "contar"El valor satisface la condición dada. Significa que verifica el valor de transversal final para Cars_Name [3], que no existe. Esto genera un Índice. Para solucionar este problema, podemos alterar nuestro operador desde "menos que igual a" a "menos que". Asegura que nuestra lista solo atraviese hasta que "contar"Satisface la nueva condición dada. Movernos y hacer esta enmienda:

Cars_name = ["Honda", "Cívico", "Corolla"]
Recuento = 0
Mientras cuenta < len(cars_name)
Imprimir (Cars_Name [Count])
Recuento += 1

Ahora hemos arreglado con éxito el IndexError. Guardar y ejecutar el archivo y verificar que nuestro bucle se ejecute bien e intente mostrar Cars_Name [3]. El resultado exitoso se puede ver ahora.

Ejemplo 2:

Cuando estamos atravesando una lista y olvidamos agregar una declaración de rango (). Si está recuperando valores en esta lista, entonces puede haber una posibilidad de IndexError.

Student_rollno = [9, 10, 9]
Para Rollno en Student_rollno:
Imprimir (Student_Rollno [Rollno])

En este ejemplo, imprimimos todos los elementos presentes en el "estudiante_rollno"Array. Esta matriz comprende el número de estudiantes en una clase. Ejecutemos nuestro código con la ayuda del compilador Spyder y verifiquemos lo que obtenemos. Nuevamente recibimos un error similar.

Ocurrió un índice. Aumentemos una declaración de impresión para ver la salida de "estudiante_rollno".

Student_rollno = [9, 10, 9]
Para Rollno en Student_rollno:
Imprimir (Rollno)
Imprimir (Student_Rollno [Rollno])

Nuevamente, guarde el código usando "Ctrl+S"Y ejecute el programa para verificar lo que sucedió después:

El "rollo"9 se muestra en la pantalla de la consola. Sin embargo, el "rollo"El valor es un valor real de"estudiante_rollno". Pero en nuestro programa, estamos tratando de buscar un "rollo"Por su número de índice. Para solucionar este problema, aquí viene una declaración de rango () para atravesar la lista de student_rollno. La función de rango () crea una lista en un orden de índice particular.

Student_rollno = [9, 10, 9]
Para Rollno en el rango (0, Len (Student_Rollno)):
Imprimir (Student_Rollno [Rollno])

Nuevamente, ejecute el programa y verifique si corrige el error:

Conclusión

En este tutorial, discutimos la ocurrencia del error "índice de lista fuera de rango"Y formas de arreglarlo. Para corregir el error, intente no acceder a un valor que no ocurra en una lista. Espero que ahora puedas resolver directamente este error al compilar tus códigos.