Encuentra el índice de un elemento en una lista en Python
-
Utilice el método List
index()
para encontrar el índice de una lista en Python -
Utilice
numpy.where()
para encontrar el índice de una lista en Python
Este tutorial demostrará cómo encontrar la posición o el índice de un elemento en una lista de Python.
Utilice el método List index()
para encontrar el índice de una lista en Python
La lista de Python tiene un método incorporado llamado index()
, que acepta un solo parámetro que representa el valor para buscar dentro de la lista existente. La función devuelve el índice de la primera aparición que encuentra a partir del índice 0
independientemente de cuántas veces se produzca dentro de la lista.
Por ejemplo, declare una lista con un valor repetido de 20
y llame a la función index(20)
e imprima lo que devuelve.
lst = [13, 4, 20, 15, 6, 20, 20]
print(lst.index(20))
Producción :
2
La primera aparición del valor 20
que se encuentra dentro del array lst
fue en el índice 2
, que es el resultado de la llamada a la función. Los otros elementos con el mismo valor se ignoran porque ya ha encontrado una coincidencia dentro de la lista.
¿Qué sucede cuando un valor no existe dentro de la lista dada, y llamamos a index()
pasando el valor que no existe? Tomemos esto por ejemplo.
lst = [13, 4, 20, 15, 6, 20, 20]
print(lst.index(21))
Producción :
ValueError: 21 is not in list
La función arrojará un error si el índice no se encuentra en la lista. En algunos casos, esto puede ser desfavorable para invocar un error. Para evitar esto, capture el error con un bloque try...except
y hágalo de modo que si el índice no existe dentro de la lista, asígnelo como -1
.
lst = [13, 4, 20, 15, 6, 20, 20]
try:
ndx = lst.index(21)
except:
ndx = -1
print(ndx)
Producción :
-1
De esta forma, no será necesario invocar un error explícito y el programa podrá continuar ejecutándose después de la operación.
Utilice numpy.where()
para encontrar el índice de una lista en Python
El módulo NumPy
tiene una función predefinida llamada where()
que se ocupa de ubicar varios elementos dentro de una lista y acepta una condición.
En este caso, utilizaremos exclusivamente where()
para localizar los índices de un valor dado. A diferencia de la función incorporada index()
, la función where()
puede devolver una lista de índices donde se encuentra el valor si existe más de una vez dentro de una lista. Esto es útil si necesita todas las apariciones del valor en lugar de solo la primera ocurrencia.
El primer paso es convertir una lista de Python en un array NumPy
. Para hacer esto, llame a la función np.array()
.
import numpy as np
lst = np.array(lst=[13, 4, 20, 15, 6, 20, 20])
Después de inicializar el array NumPy
, solo necesitamos completar el primer parámetro de where()
. Inicialice el primer parámetro como lst == 20
para localizar los índices de la lista dada con el valor 20
.
import numpy as np
lst = [13, 4, 20, 15, 6, 20, 20]
lst = np.array(lst)
result = np.where(lst == 20)
print(result)
Producción :
(array([2, 5, 6]),)
Dado que NumPy
se ocupa principalmente de matrices, la función where()
devuelve una tupla de matrices en lugar de una sola lista. Si se prefiere generar sólo la lista única, entonces llame al primer índice del resultado y extráigalo usando print()
.
import numpy as np
lst = [13, 4, 20, 15, 6, 20, 20]
lst = np.array(lst)
result = np.where(lst == 20)
print(result[0])
Producción :
[2 5 6]
Tenga en cuenta que los Arrays NumPy
están delimitadas por un solo espacio en blanco en lugar de las comas normales.
En resumen, la función index()
es la forma más fácil de encontrar la posición de un elemento dentro de una lista de Python. Aunque, esta función solo devuelve el índice de la primera aparición del valor dado.
Para devolver múltiples índices si existen múltiples instancias del valor, entonces puede optar por usar la función where()
en el módulo NumPy
.
Skilled in Python, Java, Spring Boot, AngularJS, and Agile Methodologies. Strong engineering professional with a passion for development and always seeking opportunities for personal and career growth. A Technical Writer writing about comprehensive how-to articles, environment set-ups, and technical walkthroughs. Specializes in writing Python, Java, Spring, and SQL articles.
LinkedInArtículo relacionado - Python List
- Convertir un diccionario en una lista en Python
- Eliminar todas las apariciones de un elemento de una lista en Python
- Eliminar duplicados de una lista en Python
- Cómo obtener el promedio de una lista en Python
- ¿Cuál es la diferencia entre los métodos de lista que añaden y amplían
- Cómo convertir una lista en cadena en Python