Obtener el índice o la posición de un elemento en una lista de Python

Para encontrar el índice de la primera aparición de un elemento en una lista dada de Python, puede utilizar el método «index()» de la clase «List» con el elemento pasado como argumento.

indice = miLista.index(elemento)

El método «index()» devuelve un entero que representa el índice de la primera coincidencia del elemento especificado en la Lista.

También puedes proporcionar las posiciones de inicio y final de la Lista, donde la búsqueda tiene que ocurrir en la lista.

A continuación se muestra la sintaxis de la función «index()» con las posiciones inicial y final.

indice = miLista.index(x, [inicio [,final]])

El parámetro «inicio» es opcional. Si proporciona un valor para «inicio«, entonces «final» es opcional.

Vamos a ver ejemplos en los que se repasa cada uno de estos escenarios en detalle.

Ejemplo 1: Buscar el índice de un elemento en una lista

En el siguiente ejemplo, hemos tomado una Lista formada por números. Usando el método «index()» encontraremos la posición del elemento «8» en la lista.

miLista = [21, 5, 8, 52, 21, 87]
elemento = 8

#search for the item
indice = miLista.index(elemento)

print('La posición del ', elemento, ' en la lista es:', indice)

SALIDA:

La posición del 8 en la lista es: 2

El elemento está presente en la tercera posición, por lo que la función miLista.index() devolvió 2 (recuerda que las posiciones se empiezan a contar desde el 0).

Ejemplo 2: Encontrar el índice de un elemento en la lista – inicio, fin

En el siguiente ejemplo, hemos tomado una Lista formada por números. Usando el método «index()» encontraremos el índice del elemento «8» en la lista. La función «index()» considerá sólo aquellos elementos de la lista que esten comprendidos entre la posición de «inicio» y la de «final«.

miLista=[21, 8, 67, 52, 8, 21, 87]
elemento=8
inicio=2
final=7

#buscar el elemento
indice = miLista.index(elemento, inicio, final)

print('el indice de ', item, ' en la lista es:', indice)

SALIDA:

el indice de 8 en la lista es: 4

EXPLICACIÓN:

miLista= [21, 8, 67, 52, 8, 21, 87]
                 ----------------- solo esta parte de la lista es tomada en cuenta
                         ^ el índice del elemento se encotró aquí
          0   1   2   3  4 => 4 es retornado por index()  

Ejemplo 3: Buscando el índice de un elemento que tiene múltiples apariciones en la lista

Una lista de Python puede contener múltiples apariciones de un elemento. En estos casos, sólo se devuelve el índice de la primera aparición del elemento especificado en la lista.

miLista = [21, 5, 8, 52, 21, 87, 52]
elemento = 52

#busqueda del elemento
indice = miLista.index(item)

print('El índice del ', item, ' en la lista es:', indice)

SALIDA:

El índice del 52 en la lista es: 3

El elemento «52» está presente dos veces, pero el método «index()» sólo devuelve el índice de la primera aparición.

Entendamos cómo funciona el método «index()«. La función explora la lista desde el principio. Cuando el elemento coincide con el argumento, la función devuelve ese índice. Las apariciones posteriores se ignoran ya que la busqueda finaliza.

Ejemplo 4: Buscar el índice de un elemento que no está presente en la lista

Si el elemento que estamos buscando en la Lista no está presente, obtendremos un «ValueError» con el mensaje «item is not in list«.

En el siguiente programa, hemos tomado una lista y trataremos de encontrar el índice de un elemento que no está presente en ella.

miLista = [21, 5, 8, 52, 21, 87, 52]
elemento = 67

#busqueda del elemento
indice = miLista.index(elemento)

print('El índice de ', item, 'en la lista es:', indice)

SALIDA:

Traceback (most recent call last):
  File "ejemplo.py", line 5, in <module>
    indice = miLista.index(elemento)
ValueError: 67 is not in list

Como «index()» puede arrojar un «ValueError«, use Python Try-Except mientras usa «index()«. En el siguiente ejemplo, aprenderemos a utilizar la sentencia try-except para manejar este «ValueError«.

miLista = [21, 5, 8, 52, 21, 87, 52]
elemento = 67

try:
	#buscando el elemento
	indice = miLista.index(elemento)
	print('El índice de ', item, 'en la lista es:', indice)
except ValueError:
	print('El elemento no esta presente')

Salida:

El elemento no esta presente

El elemento, cuyo índice intentamos encontrar, no está presente en la lista. Por lo tanto, «miLista.index(elemento)» lanza «ValueError«. «except ValueError«: el bloque captura este Error y se ejecuta el bloque correspondiente.

En este Tutorial de Python, aprendimos a encontrar el índice de un elemento en una lista, con la ayuda de ejemplos bien detallados.

Deja una respuesta