Cómo solucionarlo: índice de lista fuera de rango en Python

En este artículo, vamos a ver cómo solucionarlo – Índice de lista fuera de rango en Python

¿Por qué obtenemos el índice de lista fuera de rango en Python?

El problema del «índice de lista fuera de su rango» es probablemente algo que haya encontrado si alguna vez ha trabajado con listas. Aunque este problema ocurre con frecuencia, podría ser difícil de diagnosticar para un nuevo programador.

Cómo elevar el índice de la lista fuera del rango:

Ejemplo 1: 

Aquí nuestra lista es 3 y estamos imprimiendo con tamaño 4, por lo que en este caso creará un índice de lista fuera de rango

Python3

j = [1, 2, 4]
print(j[4])

Producción:

IndexError: list index out of range

Ejemplo 2:

Aquí estamos imprimiendo el mismo patrón sin índice.

Python3

# code
names = ["blue","red","green"]
 
for name in range(len(names) + 1):
    print(names[name])

Producción:

Traceback (most recent call last):
 File "/home/6536be743dacb18c2fcc724dd5aa21c6.py", line 5, in <module>
   print(names[name])
IndexError: list index out of range

Cómo resolver el índice de lista fuera de rango

  • Usando range()
  • Uso de pensamientos finales
  • Usando índice()

Método 1: Usar range()

El rango se usa para dar un rango específico, la función range() de Python devuelve la secuencia del número dado entre el rango dado.

Sintaxis de range()

rango (inicio, parada, paso).

  • comienzo: un número opcional que identifica el comienzo de la serie. 0 es el valor predeterminado si se deja en blanco.
  • detener: Un número entero que designa el punto en el que debe terminar la secuencia.
  • step-: opcional y necesario si desea aumentar el incremento en más de 1. 1 es el valor predeterminado.

El parámetro de parada para la función range() es el valor devuelto por la función len().

Ejemplo de error de lista de arreglos fuera de rango:

Python3

# code
names = ["blue," "red," "green"]
 
for name in range(len(names)):
    print(names[name])

Producción:

blue,red,green

Método 2: Usar en operador

Python3

# code
names = ["blue," "red," "green"]
 
for i in names:
    print(i)

Producción:

blue,red,green

Método 3: U sando Index()

Aquí vamos a crear una lista y luego intentar iterar la lista usando los valores constantes en bucles for.

Python3

li = [1,2 ,3, 4, 5]
 
for i in range(6):
    print(li[i])

Producción:

1
2
3
4
5
IndexError: list index out of range

Motivo del error : la longitud de la lista es 5 y si somos una lista iterativa en 6, generará el error.

Resolviendo este error sin usar len() o valor constante:

Para resolver este error, tomaremos el índice del último valor de la lista y luego agregaremos uno, luego se convertirá en el valor exacto de la longitud.

Python3

li = [1,2 ,3, 4, 5]
 
for i in range(li.index(li[-1])+1):
    print(li[i])

Producción:

1
2
3
4
5

Publicación traducida automáticamente

Artículo escrito por shikher09 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *