¿Qué es list.index() en Python y para qué sirve?

| Última modificación: 24 de diciembre de 2024 | Tiempo de Lectura: 3 minutos

Algunos de nuestros reconocimientos:

Premios KeepCoding

Existen algunos proyectos o situaciones particulares en las que, trabajando con Python, me he encontrado con la necesidad de encontrar la posición de un elemento entre listas en Python. Este problema lo solucioné gracias al método list.index(). Esta es una función que te ayuda a ubicar el índice de un elemento en la lista de forma simple. El día de hoy quiero mostrarte cómo funciona este método y qué puedes hacer con él.

list.index() en Python

¿Qué es list.index()?

El método list.index() en Python devuelve la posición del primer elemento que coincide con el valor que buscas dentro de una lista. Por ejemplo, si tienes una lista con frutas y quieres saber en qué lugar está “manzana”, este método te lo dice. Pero si el valor que buscas no está en la lista, en lugar de devolverte algo, Python da un error llamado ValueError. Es usado cuando necesitas saber dónde está algo en una lista para usarlo después.

Su sintaxis es la siguiente:

list.index(elmnt)

En esta estructura elmnt es el valor que deseas buscar en la lista. Puede ser de cualquier tipo, como cadenas, números, listas, entre otros.

El retorno es un número entero que representa el índice de la primera aparición del valor en la lista.

Veamos algunos ejemplos…

Para contextualizarnos mejor acerca del funcionamiento de este método, te ponemos un par de ejemplos:

  • Encontrar un elemento en una lista de cadenas:
frutas = ['manzana', 'banana', 'cereza']
indice = frutas.index('cereza')
print(indice) # Salida: 2

🔴 ¿Quieres Aprender a Programar con Python? 🔴

Descubre el Full Stack Jr. Bootcamp - Aprende a Programar desde Cero de KeepCoding. La formación más completa del mercado y con empleabilidad garantizada

👉 Prueba gratis el Bootcamp Aprende a Programar desde Cero por una semana

Aquí el método list.index() encuentra “cereza” en la posición 2 (recordemos que los índices en Python comienzan en 0).

  • Buscar números en una lista:
numeros = [10, 20, 30, 40, 50]
indice = numeros.index(30)
print(indice) # Salida: 2

El número 30 se encuentra en el índice 2.

  • Manejar valores duplicados: Cuando hay valores duplicados, list.index() siempre devuelve la posición de la primera aparición.
numeros = [5, 10, 15, 10, 20]
indice = numeros.index(10)
print(indice) # Salida: 1

Aunque el número 10 aparece en los índices 1 y 3, list.index() devuelve solo el primero.

¿Cómo manejar errores al usar list.index()?

Si el valor que buscas no está en la lista, Python genera un ValueError. Para evitar que tu programa se detenga, puedes usar un bloque try-except.

numeros = [1, 2, 3, 4, 5]
try:
indice = numeros.index(10)
print(indice)
except ValueError:
print('El valor no está en la lista')

¿Qué usos le podemos dar a list.index()?

Existen varios usos que le podemos dar a este método, entre ellos:

  • Validar la posición de elementos en listas dinámicas: Si trabajamos con listas que cambian de contenido de forma constante, list.index() nos permite encontrar elementos rápidamente, así:
usuarios = ['Alice', 'Bob', 'Charlie']
print(usuarios.index('Bob')) # Salida: 1
  • Trabajar con listas en procesos iterativos: Si necesitas usar el índice de un elemento dentro de un bucle, list.index() es una herramienta de mucha utilidad. Puedes usarla así:
colores = ['rojo', 'verde', 'azul']
for color in colores:
print(f'El color {color} está en el índice {colores.index(color)}')

¿Cuáles son las diferencias entre list.index() y otros métodos similares?: análisis comparativo

Pese a que list.index() es específico para listas, existen métodos como el operador in que también verifican la existencia de un elemento, pero no devuelven su índice. Veamos una comparativa entre ambos:

Característicalist.index()in
Devuelve el índiceNo
Manejo de erroresGenera un error si no existeDevuelve True o False
Usos idealesCuando necesitas el índicePara verificar si el elemento está

Ya vimos ejemplos con list.index(), ahora veamos un ejemplo con in:

frutas = ['manzana', 'banana', 'cereza']
if 'banana' in frutas:
print('Banana está en la lista')

Recomendaciones finales…

Si quieres usar list.index():

  1. Evita usarlo en listas muy grandes si necesitas buscar varios elementos repetidamente, ya que no es la forma más eficiente en términos de rendimiento.
  2. Combínalo con bloques try-except para manejar casos donde el valor no existe en la lista.
  3. Recuerda que solo devuelve la primera ocurrencia, por lo que si necesitas todos los índices de un elemento repetido, deberás utilizar técnicas adicionales como listas de comprensión.

Si te interesan estas temáticas y otras similares, no dudes en inscribirte a nuestro bootcamp en programación nivel inicial, en el cual te enseñaremos todol o necesario para que incursiones en un prolífico mercado laboral. ¡No esperes má stu gran oportunidad de seguir creciendo!

Ramón Maldonado

Full Stack Developer y Responsable de Formación base en KeepCoding.

Posts más leídos

¡CONVOCATORIA ABIERTA!

Aprende a Programar desde Cero

Full Stack Jr. Bootcamp

Apúntate y consigue uno de los perfiles más demandados con Python en solo 4 meses.