Índice de lista de Python () con ejemplo
Una lista es un contenedor que almacena elementos de diferentes tipos de datos (ints, floats, Boolean, strings, etc.) en una secuencia ordenada. Es una estructura de datos importante que está integrada en Python. Los datos se escriben entre corchetes ([]), y los valores están separados por comas (,).
Los elementos dentro de la lista están indexados con el primer elemento comenzando en el índice 0. Puede realizar cambios en la lista creada agregando nuevos elementos o actualizando, eliminando los existentes. También puede tener elementos duplicados y una lista anidada.
Hay muchos métodos disponibles en una lista, y uno de los más importantes es el index().
En este tutorial, aprenderá:
- Índice de lista de Python()
- Usando for-loop para obtener el índice de un elemento en una lista
- Usando while-loop y list.index()
- Uso de la comprensión de listas para obtener el índice del elemento en una lista
- Uso de Enumerate para obtener el índice de un elemento en una lista
- Uso de filtro para obtener el índice de un elemento en una lista
- Uso de NumPy para obtener el índice de un elemento en una lista
- Utilizar more_itertools.locate() para obtener el índice de un elemento en una lista
Índice de lista de Python()
El método list index() te ayuda a encontrar el primer índice más bajo del elemento dado. Si hay elementos duplicados dentro de la lista, se devuelve el primer índice del elemento. Esta es la forma más fácil y directa de obtener el índice.
Además del método index() de lista incorporado, también puede usar otras formas de obtener el índice, como recorrer la lista, usar comprensiones de lista, enumerar(), métodos de filtro.
El método list index() devuelve el primer índice más bajo del elemento dado.
Sintaxis
list.index(element, start, end)
Parámetros
Parámetros | Descripción |
---|---|
elemento | El elemento del que desea obtener el índice. |
inicio | Este parámetro es opcional. Puede definir el inicio:índice para buscar el elemento. Si no se proporciona, el valor predeterminado es 0. |
fin | Este parámetro es opcional. Puede especificar el índice final del elemento que se va a buscar. Si no se da, se considera hasta el final de la lista. |
Valor devuelto
El método list index() devuelve el índice del elemento dado. Si el elemento no está presente en la lista, el método index() arrojará un error, por ejemplo, ValueError:'Elemento' no está en la lista.
Ejemplo:Para encontrar el índice del elemento dado.
En la lista my_list =['A', 'B', 'C', 'D', 'E', 'F'], nos gustaría saber el índice de los elementos C y F.
El siguiente ejemplo muestra cómo obtener el índice.
my_list = ['A', 'B', 'C', 'D', 'E', 'F'] print("The index of element C is ", my_list.index('C')) print("The index of element F is ", my_list.index('F'))
Salida:
The index of element C is 2 The index of element F is 5
Ejemplo:Uso de inicio y final en index()
En este ejemplo, intentará limitar la búsqueda de índice en una lista usando el índice inicial y final.
my_list = ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J'] print("The index of element C is ", my_list.index('C', 1, 5)) print("The index of element F is ", my_list.index('F', 3, 7)) #using just the startindex print("The index of element D is ", my_list.index('D', 1))
Salida:
The index of element C is 2 The index of element F is 5 The index of element D is 3
Ejemplo:Para probar el método index() con un elemento que no está presente.
Cuando intenta buscar un índice en la lista de elementos que no están presentes, obtendrá un error como se muestra a continuación:
my_list = ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J'] print("The index of element C is ", my_list.index('Z'))
Salida:
Traceback (most recent call last): File "display.py", line 3, in <module> print("The index of element C is ", my_list.index('Z')) ValueError: 'Z' is not in list
Usando for-loop para obtener el índice de un elemento en una lista
Con el método list.index(), hemos visto que da el índice del elemento que se pasa como argumento.
Ahora considere la lista como:my_list =['Guru', 'Siya', 'Tiya', 'Guru', 'Daksh', 'Riya', 'Guru'] . El nombre 'Gurú' está presente 3 veces en el índice, y quiero todos los índices con el nombre 'Gurú'.
Usando for-loop, deberíamos poder obtener los múltiples índices como se muestra en el ejemplo a continuación.
my_list = ['Guru', 'Siya', 'Tiya', 'Guru', 'Daksh', 'Riya', 'Guru'] all_indexes = [] for i in range(0, len(my_list)) : if my_list[i] == 'Guru' : all_indexes.append(i) print("Originallist ", my_list) print("Indexes for element Guru : ", all_indexes)
Salida:
Originallist ['Guru', 'Siya', 'Tiya', 'Guru', 'Daksh', 'Riya', 'Guru'] Indexes for element Guru : [0, 3, 6]
Usando while-loop y list.index()
El uso de un bucle while recorrerá la lista dada para obtener todos los índices del elemento dado.
En la lista:my_list =['Guru', 'Siya', 'Tiya', 'Guru', 'Daksh', 'Riya', 'Guru'], necesitamos todos los índices del elemento 'Guru'.
A continuación se muestra un ejemplo que muestra cómo obtener todos los índices usando while-loop
my_list = ['Guru', 'Siya', 'Tiya', 'Guru', 'Daksh', 'Riya', 'Guru'] result = [] elementindex = -1 while True: try: elementindex = my_list.index('Guru', elementindex+1) result.append(elementindex) except ValueError: break print("OriginalList is ", my_list) print("The index for element Guru is ", result)
Salida:
OriginalList is ['Guru', 'Siya', 'Tiya', 'Guru', 'Daksh', 'Riya', 'Guru'] The index for element Guru is [0, 3, 6]
Uso de la comprensión de listas para obtener el índice del elemento en una lista
Para obtener todos los índices, una forma rápida y sencilla es hacer uso de la comprensión de listas en la lista.
Las comprensiones de lista son funciones de Python que se utilizan para crear nuevas secuencias (como listas, diccionarios, etc.), es decir, utilizando secuencias que ya se han creado.
Ayudan a reducir los bucles más largos y hacen que su código sea más fácil de leer y mantener.
El siguiente ejemplo muestra cómo hacerlo:
my_list = ['Guru', 'Siya', 'Tiya', 'Guru', 'Daksh', 'Riya', 'Guru'] print("Originallist ", my_list) all_indexes = [a for a in range(len(my_list)) if my_list[a] == 'Guru'] print("Indexes for element Guru : ", all_indexes)
Salida:
Originallist ['Guru', 'Siya', 'Tiya', 'Guru', 'Daksh', 'Riya', 'Guru'] Indexes for element Guru : [0, 3, 6]
Uso de Enumerate para obtener el índice de un elemento en una lista
La función Enumerate() es una función incorporada disponible con python. Puede hacer uso de enumerate para obtener todos los índices del elemento en una lista. Toma la entrada como un objeto iterable (es decir, un objeto que se puede repetir) y la salida es un objeto con un contador para cada elemento.
El siguiente ejemplo muestra cómo hacer uso de enumerar en una lista para obtener todos los índices para un elemento dado.
my_list = ['Guru', 'Siya', 'Tiya', 'Guru', 'Daksh', 'Riya', 'Guru'] print("Originallist ", my_list) print("Indexes for element Guru : ", [i for i, e in enumerate(my_list) if e == 'Guru'])
Salida:
Originallist ['Guru', 'Siya', 'Tiya', 'Guru', 'Daksh', 'Riya', 'Guru'] Indexes for element Guru : [0, 3, 6]
Uso de filtro para obtener el índice de un elemento en una lista
El método filter() filtra la lista dada en función de la función dada. Cada elemento de la lista se pasará a la función y los elementos requeridos se filtrarán según la condición dada en la función.
Usemos el método filter() para obtener los índices del elemento dado en la lista.
El siguiente ejemplo muestra cómo utilizar el filtro en una lista.
my_list = ['Guru', 'Siya', 'Tiya', 'Guru', 'Daksh', 'Riya', 'Guru'] print("Originallist ", my_list) all_indexes = list(filter(lambda i: my_list[i] == 'Guru', range(len(my_list)))) print("Indexes for element Guru : ", all_indexes)
Salida:
Originallist ['Guru', 'Siya', 'Tiya', 'Guru', 'Daksh', 'Riya', 'Guru'] Indexes for element Guru : [0, 3, 6]
Uso de NumPy para obtener el índice de un elemento en una lista
La biblioteca NumPy se usa especialmente para matrices. Así que aquí haremos uso de NumPy para obtener el índice del elemento que necesitamos de la lista dada.
Para hacer uso de NumPy, tenemos que instalarlo e importarlo.
Estos son los pasos para lo mismo:
Paso 1) Instalar NumPy
pip install numpy
Paso 2) Importe el Módulo NumPy.
import numpy as np
Paso 3) Utilice np.array para convertir la lista en una matriz
my_list = ['Guru', 'Siya', 'Tiya', 'Guru', 'Daksh', 'Riya', 'Guru'] np_array = np.array(my_list)
Paso 4) Obtenga el índice del elemento que desea, usando np.where()
item_index = np.where(np_array == 'Guru')[0]
El código de trabajo final con salida es el siguiente:
import numpy as np my_list = ['Guru', 'Siya', 'Tiya', 'Guru', 'Daksh', 'Riya', 'Guru'] np_array = np.array(my_list) item_index = np.where(np_array == 'Guru')[0] print("Originallist ", my_list) print("Indexes for element Guru :", item_index)
Salida:
Originallist['Guru', 'Siya', 'Tiya', 'Guru', 'Daksh', 'Riya', 'Guru'] Indexes for element Guru : [0 3 6]
Usando more_itertools.locate() para obtener el índice de un elemento en una lista
more_itertools.locate() ayuda a encontrar los índices del elemento en la lista. Este módulo funcionará con la versión 3.5+ de Python. El paquete more_itertools tiene que ser instalado primero para hacer uso de él.
Los siguientes son los pasos para instalar y hacer uso de more_itertools
Paso 1) Instale more_itertools usando pip (administrador de paquetes de Python). El comando es
pip install more_itertools
Paso 2) Una vez finalizada la instalación, importe el ubicar módulo como se muestra a continuación
from more_itertools import locate
Ahora puede utilizar el módulo de localización en una lista como se muestra a continuación en el ejemplo:
from more_itertools import locate my_list = ['Guru', 'Siya', 'Tiya', 'Guru', 'Daksh', 'Riya', 'Guru'] print("Originallist : ", my_list) print("Indexes for element Guru :", list(locate(my_list, lambda x: x == 'Guru')))
Salida:
Originallist : ['Guru', 'Siya', 'Tiya', 'Guru', 'Daksh', 'Riya', 'Guru'] Indexes for element Guru : [0, 3, 6]
Resumen:
- El método list index() te ayuda a encontrar el índice del elemento dado. Esta es la forma más fácil y directa de obtener el índice.
- El método list index() devuelve el índice del elemento dado.
- Si el elemento no está presente en la lista, el método index() generará un error, por ejemplo, ValueError:'Elemento' no está en la lista.
- Además del método de lista incorporado, también puede utilizar otras formas de obtener el índice, como recorrer la lista, usar listas por comprensión, enumerar(), usar un filtro, etc.
- Usando for-loop y while-loop para obtener los múltiples índices de un elemento dado.
- Para obtener todos los índices, una forma rápida y sencilla es hacer uso de la comprensión de listas en la lista.
- Las listas por comprensión son funciones de Python que se utilizan para crear nuevas secuencias.
- Ayudan a reducir los bucles más largos y hacen que su código sea más fácil de leer y mantener.
- Puede utilizar enumerar para obtener todos los índices del elemento en una lista.
- La función Enumerate() es una función incorporada disponible con python. Toma la entrada como un objeto iterable (es decir, un objeto que se puede repetir) y la salida es un objeto con un contador para cada elemento.
- El método filter() filtra la lista dada según la función dada.
- La biblioteca Numpy se usa especialmente para arreglos. Puede utilizar NumPy para obtener el índice del elemento dado en la lista.
- more_itertools.locate() es otra biblioteca de Python que ayuda a encontrar los índices de la lista dada.
python
- std::list en C++ con ejemplo
- Declaración Python Print():cómo imprimir con ejemplos
- Python String strip() Función con EJEMPLO
- Python String count () con EJEMPLOS
- Función Python round() con EJEMPLOS
- Función Python map() con EJEMPLOS
- Python Timeit() con ejemplos
- Contador de Python en colecciones con ejemplo
- Python List count () con EJEMPLOS
- Python elimina duplicados de una lista
- Eliminar elemento de una LISTA de Python [clear, pop, remove, del]