En esta guía, aprenderá cómo encontrar el índice de un elemento en una lista de Python, utilizando iteraciones simples y un método de lista integrado. pista().
Cuando trabaje con listas de Python, es posible que necesite saber el índice en el que se encuentra un elemento en particular. Puedes hacer esto por:
- Recorra la lista y verifique si el elemento en el índice actual es igual al valor particular
- Usando el método de lista incorporado
index()
Aprenderá las dos cosas anteriores en este tutorial. Comencemos.👩🏽💻
Listas de Python, revisadas
En Python, una lista es una colección de elementos, del mismo o diferente tipo de datos. Ellas son mudable; puede modificarlos en su lugar sin tener que crear una nueva lista.
Considere este ejemplo fruits
: una lista de 5 frutas diferentes.
fruits = ["apple","mango","strawberry","pomegranate","melon"]
Puede obtener la longitud de cualquier objeto de Python usando la función incorporada len()
función. Entonces puedes llamar al len()
función con objeto de lista (fruits
) como argumento para obtener su longitud, como se muestra a continuación.
len(fruits)
# Output: 5
Usaremos el fruits
list como un ejemplo común en este tutorial.
Indexación en listas de Python
pitón sigue indexación cero. Entonces, en cualquier iterable de Python, el primer elemento está en el índice 0, el segundo elemento está en el índice 1, y así sucesivamente. Si la longitud del iterable es k
entonces el último elemento está en el índice k - 1
.
En Python, puede usar la función range() para obtener índices al iterar a través de iterables.
Notar: Al realizar un bucle
range(k)
, obtienes los índices 0,1,2,…,(k-1). Así que al arreglark = len(list)
puede obtener la lista de todos los índices válidos.
La siguiente celda de código explica esto.
for i in range(len(fruits)):
print(f"i:{i}, fruit[{i}] is {fruits[i]}")
# Output
i:0, fruit[0] is apple
i:1, fruit[1] is mango
i:2, fruit[2] is strawberry
i:3, fruit[3] is pomegranate
i:4, fruit[4] is melon
Ahora que hemos cubierto los conceptos básicos de las listas de Python, aprendamos cómo encontrar el índice de un elemento en una lista.
Encuentre el índice de un elemento de la lista por iteración usando bucles for
Considere la lista fruits
de la sección anterior. Aprenderemos cómo encontrar el índice de un elemento específico en esta lista por iteración usando for
círculo.
Usando la función loop y range()
vamos a arreglar target
: el valor que estamos buscando en la lista.
Puedes usar for
bucle y range()
función para obtener la lista de índices de 0
a len(fruits) - 1
.
- Navega por la lista de frutas accediendo a cada índice.
- Comprueba si el elemento en el índice actual i es igual al objetivo.
- Ya sea
True
imprimir que eltarget
fue encontrado en el índicei
.
fruits = ["apple","mango","strawberry","pomegranate","melon"]
target = "mango"
for i in range(len(fruits)):
if fruits[i] == target:
print(f"{target} found at index {i}")
# Output
mango found at index 1
En este ejemplo, la cadena de destino 'mango'
aparece exactamente una vez (en el índice 1) en la lista fruits
.
Sin embargo, a veces el valor objetivo aparece varias veces o no aparece en absoluto. Para manejar estos casos, modifiquemos el ciclo anterior y envolvamos el contenido en una función llamada find_in_list
.
Comprender la definición de la función.
La funcion find_in_list
tiene dos parámetros:
target
: el valor deseado, ypy_list
: la lista de Python que está buscando.
def find_in_list(target,py_list):
target_indices = []
for i in range(len(fruits)):
if fruits[i] == target:
target_indices.append(i)
if target_indices == []:
print("Sorry, target not found!")
else:
print(f"{target} is found at indices {target_indices}")
En el cuerpo de la función, inicializamos una lista vacía target_indices
. Iteramos a través de la lista y accedemos a los elementos de la lista. Si el objetivo se encontró en un índice particular, agregamos ese índice al target_indices
lista usando el append()
método.
Notar: En Python,
list.append(item)
agregaitem
al final delist
.
- Si nunca se encuentra el objetivo, entonces
target_indices
es una lista vacía; se advierte al usuario que el objetivo no está presente en la lista. - Si el objetivo está en más de un índice, entonces
target_indices
contiene todas estas pistas.
A continuación, redefina la fruits
lista como se muestra.
Esta vez estamos buscando el target
cadena de caracteres 'mango'
que ocurre dos veces, en los índices 1 y 4.
fruits = ["apple","mango","strawberry","pomegranate","mango","melon"]
target = "mango"
find_in_list(target,fruits)
# Output
mango is found at indices [1, 4]
Al llamar a la función find_in_list
con target
y fruits
como argumentos, vemos que se devuelven ambos índices.
target = "turnip"
find_in_list(target,fruits)
# Output
Sorry, target not found!
Si intentas buscar 'turnip'
que no está presente en el fruits
lista, recibe un mensaje de que no se encontró el objetivo.
Usando la función for loop y enumerate()
En Python, puede usar el enumerate()
función para acceder tanto al índice como a los elementos simultáneamente, sin tener que usar el range()
función.
La siguiente celda de código muestra cómo puede usar el enumerate()
función para obtener índices y elementos.
fruits = ["apple","mango","strawberry","pomegranate","mango","melon"]
for index,fruit in enumerate(fruits):
print(f"Index {index}: {fruit}")
# Output
Index 0: apple
Index 1: mango
Index 2: strawberry
Index 3: pomegranate
Index 4: mango
Index 5: melon
Ahora reescribamos la función de Python para encontrar el índice de elementos en la lista usando enumerate()
función.
def find_in_list(target,py_list):
target_indices = []
for index, fruit in enumerate(fruits):
if fruit == target:
target_indices.append(index)
if target_indices == []:
print("Sorry, target not found!")
else:
print(f"{target} is found at indices {target_indices}")
Al igual que en la sección anterior, ahora puede llamar al find_in_list
función con argumentos válidos.
Puede traducir la definición de función anterior a una comprensión de lista equivalente y lo haremos en la siguiente sección.
Encuentre el índice de un elemento de lista por iteración utilizando la comprensión de lista
La comprensión de listas en Python le permite crear listas a partir de listas existentes en función de ciertas condiciones. Aquí está la construcción general:
new_list = [<output> for <items in existing iterables> if <condition is true>]
La siguiente figura describe cómo identificar los elementos de comprensión de listas; usando esto puedes convertir la función find_in_list
a una lista de comprensión.
Usando lo anterior, la expresión de comprensión de lista para crear índices de destino es la siguiente.
target_indices = [index for index,fruit in enumerate(fruits) if fruit==target]
Como ejercicio, puede intentar ejecutar el fragmento de código anterior para obtener algunos ejemplos más.
Encuentre el índice de un elemento de la lista usando el método index()
Para encontrar el índice de un elemento en una lista de Python, también puede usar la función integrada .index()
método. Aquí está la sintaxis general:
list.index(value,start,end)
Análisis del método anterior:
value
es el valor objetivo que está buscando.start
yend
somos opcional argumentos posicionales; puede usarlos para buscar el índice de un elemento en el segmento de la lista destart
y extendiéndose aend - 1
.
Notar: Los .pista() el método regresa solamente el índice de la primera ocurrencia de
value
dentrolist
. Incluso cuando encuentra el índice de un elemento en un segmento de lista [start: end-1]este método devuelve solo el índice correspondiente a la primera aparición del elemento.
Volvamos a nuestro ejemplo para entender cómo el .index()
el método funciona.
fruits = ["apple","mango","strawberry","pomegranate","mango","melon"]
target = "mango"
fruits.index(target)
1
A pesar de que hay dos ocurrencias de 'mango'
en el fruits
lista, se puede ver que sólo el índice de la primero la ocurrencia fue devuelta.
Para obtener el índice de la segunda aparición de mango, podemos buscar en el sector de la lista comenzando en el índice 2 y extendiéndose hasta el índice 5 como se muestra a continuación.
fruits.index(target,2,5)
4
Cómo manejar errores de valor en Python
Ahora veamos qué sucede si intenta encontrar el índice de un elemento que no está presente en la lista, digamos, 'carrot'
.
target = "carrot"
fruits.index(target)
# Output
---------------------------------------------------------------------------
ValueError Traceback (most recent call last)
<ipython-input-17-81bd454e44f7> in <module>()
1 target = "carrot"
2
----> 3 fruits.index(target)
ValueError: 'carrot' is not in list
Como se ve en la celda de código anterior, esto arroja un Error de valor. En Python puedes manejar esto como una excepción usando el try
y except
bloques
La sintaxis general a utilizar try-except
es como sigue.
try:
# to do this
except <ErrorType>:
# do this to handle <ErrorType> as exception
Usando los bloques try-except de arriba, podemos manejar Error de valor como una excepción.
target = "carrot"
try:
fruits.index(target)
except ValueError:
print(f"Sorry, could not find {target} in list")
# Output
Sorry, could not find carrot in list
El código anterior hace lo siguiente:
- Si el destino está presente en la lista, devuelve el índice del destino.
- Si el objetivo no está presente, se las arregla Error de valor como una excepción e imprime el mensaje de error.
Resumen
Aquí hay un resumen de los diferentes métodos que aprendió para encontrar el índice de un elemento en una lista de Python.
- Puedes usar Phyton para bucle y intervalo() para obtener los elementos y sus respectivos índices. Compruebe si los elementos de los índices coinciden con el objetivo.
- También puede utilizar el enumerar() función que permite el acceso simultáneo al tema y al índice.
- Puede usar los dos métodos anteriores en una expresión de comprensión de lista.
- Para encontrar el índice de un elemento en una lista, también puede usar la función integrada .pista() método.
- list.index(valor) devuelve el índice de la primera aparición de evaluar dentro listado. Si el valor no está presente, genera un Error de valor.
- Puede buscar dentro de una cierta porción de la lista usando list.index(valor, inicio, fin) para encontrar la aparición de un valor en el segmento de la lista [start:end-1].
A continuación, aprenda a ordenar un diccionario de Python por clave o valor. ¡Feliz programación en Python!
Si quiere puede hacernos una donación por el trabajo que hacemos, lo apreciaremos mucho.
Direcciones de Billetera:
- BTC: 14xsuQRtT3Abek4zgDWZxJXs9VRdwxyPUS
- USDT: TQmV9FyrcpeaZMro3M1yeEHnNjv7xKZDNe
- BNB: 0x2fdb9034507b6d505d351a6f59d877040d0edb0f
- DOGE: D5SZesmFQGYVkE5trYYLF8hNPBgXgYcmrx
También puede seguirnos en nuestras Redes sociales para mantenerse al tanto de los últimos post de la web:
- Telegram
Disclaimer: En Cryptoshitcompra.com no nos hacemos responsables de ninguna inversión de ningún visitante, nosotros simplemente damos información sobre Tokens, juegos NFT y criptomonedas, no recomendamos inversiones