Python index() es una función incorporada en Python, que busca un elemento determinado desde el principio de la lista y devuelve el índice más bajo donde aparece el elemento.
Cómo encontrar el índice de un elemento o elementos en una lista
En este artículo, cubriremos diferentes ejemplos para encontrar el índice, tales como:
- Encuentra el índice del elemento.
- Funcionamiento del índice() con parámetros de inicio y fin
- Funcionamiento del índice() con solo dos parámetros
- Índice del Elemento no Presente en la Lista
- Cómo arreglar el índice de la lista fuera de rango
Sintaxis: índice de lista de Python()
Sintaxis:
list_name.index(element, start, end)Parámetros:
- elemento : el elemento cuyo índice más bajo se devolverá.
- inicio (opcional) : la posición desde donde comienza la búsqueda.
- final (opcional) : la posición desde donde finaliza la búsqueda.
Devuelve: el índice más bajo donde aparece el elemento.
Error: si se busca algún elemento que no está presente, devuelve un ValueError
Ejemplo 1 : encontrar el índice del elemento
En este ejemplo, intentaremos averiguar el índice de un elemento de «murciélago» de python para obtener el índice de los elementos de la lista.
Python3
# list of items list2 = ['cat', 'bat', 'mat', 'cat', 'pet'] # Will print the index of 'cat' in list2 print(list2.index('bat'))
Producción:
1
Ejemplo 2: funcionamiento del index() con parámetros de inicio y fin
En este ejemplo, encontramos un elemento en list python, el índice de un elemento de 4 entre el índice en la cuarta posición y terminando en la octava posición .
Python3
# list of items list1 = [1, 2, 3, 4, 1, 1, 1, 4, 5] # Will print index of '4' in sublist # having index from 4 to 8. print(list1.index(4, 4, 8))
Producción:
7
Ejemplo 3: funcionamiento del índice() con solo dos parámetros
En este ejemplo, veremos cuando pasamos dos argumentos en la función de índice, el primer argumento se trata como el elemento a buscar y el segundo argumento es el índice desde donde comienza la búsqueda.
list_name.index(element, start)
Python3
# list of items list1 = [6, 8, 5, 6, 1, 2] # Will print index of '6' in sublist # having index from 1 to end of the list. print(list1.index(6, 1))
Producción:
3
Ejemplo 4: Índice del Elemento no Presente en la Lista
En este ejemplo, veremos que si el Índice del Elemento no se Presenta en la Lista, lo hará a través de un ValueError.
Python3
# Python3 program for demonstration # of index() method error list1 = [1, 2, 3, 4, 1, 1, 1, 4, 5] # Return ValueError print(list1.index(10))
Producción:
Traceback (most recent call last): File "/home/b910d8dcbc0f4f4b61499668654450d2.py", line 8, in print(list1.index(10)) ValueError: 10 is not in list
Ejemplo 5: Índice del Elemento no Presente en la Lista
En este ejemplo, el tercer argumento, que es el final, no está incluido en el rango de principio a fin, es decir, la búsqueda se realiza de principio a fin-1 índice. Por lo tanto, el índice final pasado como argumento no está incluido.
list_name.index(element, start, end)
Python3
# Python3 program for demonstration # of index() method list1 = [6 , 2 , 14 , 8 , 9 , 10] # return error as index '4' is not included in the range # having index from 1 to 4. print(list1.index(9, 1, 4))
Producción:
Traceback (most recent call last): File "/home/3cbe5b7d0595ab3f8564f16af7a15172.py", line 9, in <module> print(list1.index(9 , 1 , 4)) ValueError: 9 is not in list
Ejemplo 6: Cómo arreglar el índice de lista fuera de rango usando Index()
Aquí vamos a crear una lista y luego intentaremos 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])
1 2 3 4 5