Saltar al contenido principal

Tutorial de list index() de Python

En este tutorial, aprenderás exclusivamente sobre la función index().
21 feb 2024  · 6 min de lectura
Lee la versión en inglés 🇺🇲 de este artículo.

Una estructura de datos es una forma de organizar y almacenar datos que permite un acceso y una modificación eficientes. Las listas son un tipo de estructura de datos que almacenan una colección de elementos heterogéneos y son estructuras de datos intrínsecas. Python también proporciona muchas funciones o métodos que puedes utilizar para trabajar con listas.

En este tutorial, aprenderás sobre la función index() de Python. El método index() busca un elemento en la lista y devuelve su posición/índice. En primer lugar, este tutorial te hablará de las listas, y después verás algunos ejemplos sencillos para trabajar con la función index().

¿Qué es la indexación en Python?

En Python, la indexación es el proceso de acceder a un elemento concreto de una secuencia, como una cadena o una lista, utilizando su posición o número de índice. La indexación en Python empieza en 0, lo que significa que el primer elemento de una secuencia tiene un índice de 0, el segundo elemento tiene un índice de 1, y así sucesivamente. Por ejemplo, si tenemos una cadena "Hello", podemos acceder a la primera letra "H" utilizando su índice 0 mediante la notación de corchetes: string[0].

La función integrada de Python index() es una herramienta útil para buscar el índice de un elemento concreto en una secuencia. Esta función toma un argumento que representa el valor que se debe buscar y devuelve el índice de la primera aparición de ese valor en la secuencia.

Si el valor no se encuentra en la secuencia, la función genera un error ValueError. Por ejemplo, si tenemos una lista [1, 2, 3, 4, 5], podemos buscar el índice del valor 3 invocando list.index(3), que devolverá el valor 2 (ya que 3 es el tercer elemento de la lista, y la indexación empieza en 0).

La función index() es una potente herramienta en Python, ya que simplifica el proceso de buscar el índice de un elemento en una secuencia, eliminando la necesidad de escribir bucles o sentencias condicionales. Esta función es especialmente útil cuando se trabaja con grandes conjuntos de datos o estructuras complejas, en los que la búsqueda manual podría llevar mucho tiempo y dar lugar a errores.

Ejecute y edite el código de este tutorial en línea

Ejecutar código

Ejemplos de índices en Python

El método index() devuelve el índice más bajo de la lista en el que aparece el elemento buscado. Si se busca algún elemento que no está presente, se devuelve un error ValueError.

Vamos a probarlo:

list_numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
element = 3
list_numbers.index(element)
2
list_numbers = [4, 5, 6, 7, 8, 9, 10]
element = 3 # Not in the list
list_numbers.index(element) # Throws a ValueError
---------------------------------------------------------------------------

ValueError                                Traceback (most recent call last)

<ipython-input-35-6a006c988b06> in <module>()
      1 list_numbers = [4, 5, 6, 7, 8, 9, 10]
      2 element = 3 # Not in the list
----> 3 list_numbers.index(element) # Throws a ValueError


ValueError: 3 is not in list

Índice de un elemento de cadena

Probémoslo con elementos de cadena:

list_numbers = [1, 'two', 3, 4, 5, 6, 7, 8, 9, 10]
element = 'two'
list_numbers.index(element)
1

¿Qué significa devolver el índice más bajo?

Imagina que tienes más de una instancia de un elemento: index() te dará la primera posición en la que aparece el elemento.

list_numbers = [3, 1, 2, 3, 3, 4, 5, 6, 3, 7, 8, 9, 10]
element = 3
list_numbers.index(element)
0

La posición devuelta es 0, porque 3 aparece por primera vez en la primera posición o índice 0 en Python.

Esto es lo que ocurre internamente: index recorre todos los valores empezando por la 1.ª posición (índice 0), buscando el elemento indicado, y, en cuanto encuentra el valor, devuelve la posición y sale del sistema. Sin embargo, esto no es demasiado eficiente cuando recorres una lista grande y debes obtener la posición de algo que está hacia el final de la lista.

index() te ofrece una opción para dar pistas sobre dónde podría estar el valor buscado

list_numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
element = 7
list_numbers.index(element, 5, 8)
6

Así que la sintaxis es: list_name.index(element, start, stop).

Aquí los valores start y stop son opcionales. De hecho, utilízalo solo cuando estés completamente seguro del intervalo; de lo contrario, obtendrás un error ValueError como se muestra a continuación.

list_numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
element = 7
list_numbers.index(element, 1, 5)
---------------------------------------------------------------------------

ValueError                                Traceback (most recent call last)

<ipython-input-39-b96f4b5e51d5> in <module>()
      1 list_numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
      2 element = 7
----> 3 list_numbers.index(element, 1, 5)


ValueError: 7 is not in list

Comprensión de listas o expresión del generador

Como index() solo devuelve la primera coincidencia con un objeto, puedes utilizar la comprensión de listas o la expresión del generador si necesitas las posiciones de más coincidencias de la lista. He aquí cómo:

list_numbers = [3, 1, 2, 3, 3, 4, 5, 6, 3, 7, 8, 9, 10]
[i for i, n in enumerate(list_numbers) if n == 3] # List comprehension
[0, 3, 4, 8]
list_numbers = [3, 1, 2, 3, 3, 4, 5, 6, 3, 7, 8, 9, 10]
g = (i for i, n in enumerate(list_numbers) if n == 3) # Generator expression
print("Generators store values, the first value here is:", next(g), ". Then the next is:", next(g), "followed by ", next(g),"and finally ", next(g))
Generators store values, the first value here is: 0. Then the next is: 3 followed by  4 and finally  8

Reflexiones finales

Enhorabuena, acabas de conocer la función index() en Python. Has visto cómo puede ayudarte a trabajar con listas. También se te han presentado algunos nuevos conceptos. Para saber más sobre la comprensión de listas, consulta el tutorial de comprensión de listas en Python de DataCamp. El Tutorial de iteradores de Python de DataCamp tiene más información sobre los generadores y las expresiones de los generadores.

Preguntas frecuentes sobre el índice de lista de Python

¿Qué es el error "list index out of range"?

El error "list index out of range" se produce cuando intentas acceder a un índice que está fuera del intervalo de índices válidos para una lista. Por ejemplo, si una lista tiene 5 elementos, los índices válidos son de 0 a 4. Si intentas acceder a un índice mayor o igual que 5, obtendrás este error.

Para evitar el error "list index out of range", debes asegurarte de que el índice al que intentas acceder esté dentro del intervalo de índices válidos para la lista. Puedes utilizar la función len() para obtener la longitud de una lista y comprobar si un índice está dentro del intervalo de índices válidos.

¿Qué es el error "list indices must be integers"?

El error "list indices must be integers" se produce cuando intentas utilizar un valor que no es un entero como índice de lista. Por ejemplo, si intentas utilizar un número de coma flotante o una cadena como índice de lista, obtendrás este error.

Para evitar el error "list indices must be integers", debes asegurarte de que utilizas un valor entero como índice de lista. Si tienes que utilizar un valor que no es un entero como índice, puedes convertirlo a entero utilizando la función int().

¿Cómo puedo encontrar el índice de un elemento en una lista?

Puedes utilizar el método index() de una lista para encontrar el índice de un elemento concreto. Por ejemplo, si my_list es una lista y my_element es un elemento de la lista, puedes encontrar el índice de my_element con my_list.index(my_element).

¿Cómo puedo encontrar todos los índices de un elemento en una lista?

Puedes utilizar una comprensión de listas para encontrar todos los índices de un elemento en una lista. Por ejemplo, si my_list es una lista y my_element es un elemento de la lista, puedes encontrar todos los índices de my_element con [i for i in range(len(my_list)) if my_list[i] == my_element].

Temas

Cursos de Python

curso

Introduction to Python

4 hr
5.6M
Master the basics of data analysis with Python in just four hours. This online course will introduce the Python interface and explore popular packages.
Ver detallesRight Arrow
Comienza el curso
Ver másRight Arrow
Relacionado

tutorial

Tutorial de funciones de Python

Un tutorial sobre funciones en Python que cubre cómo escribir funciones, cómo invocarlas y mucho más.
Karlijn Willems's photo

Karlijn Willems

14 min

tutorial

Tutorial y Ejemplos de Funciones y Métodos de Listas en Python

Conozca las funciones y métodos de lista de Python. Siga ahora ejemplos de código de list() y otras funciones y métodos de Python.
Abid Ali Awan's photo

Abid Ali Awan

7 min

tutorial

Tutorial de Python String format()

Aprende a formatear cadenas en Python.
DataCamp Team's photo

DataCamp Team

5 min

tutorial

Función del guión bajo(_) en el tutorial de Python

En este tutorial, vas a aprender sobre los usos del guión bajo(_) en python.
Hafeezul Kareem Shaik's photo

Hafeezul Kareem Shaik

8 min

tutorial

Tutorial de Iteradores y Generadores de Python

Explore la diferencia entre Iteradores y Generadores de Python y aprenda cuáles son los mejores para usar en diversas situaciones.
Kurtis Pykes 's photo

Kurtis Pykes

10 min

tutorial

Función Print() de Python

Aprenda cómo puede aprovechar la capacidad de una simple función de impresión de Python de varias maneras con la ayuda de ejemplos.
Aditya Sharma's photo

Aditya Sharma

10 min

Ver másVer más