python list index

Cómo encontrar el índice de un elemento en las listas de Python

Publicado por
Comparte en redes sociales


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 kentonces 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 arreglar k = 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.

python-buscar-en-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 Trueimprimir que el target fue encontrado en el índice i.
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, y
  • py_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) agrega item al final de list.

  • 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.
Leer también  Pomodoro Technique Mastery: Supercharge Your Productivity

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&gt; for <items in existing iterables&gt; 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.

Leer también  7 plataformas de marketing todo en uno para todas sus necesidades
python-buscar-en-lista

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 y end somos opcional argumentos posicionales; puede usarlos para buscar el índice de un elemento en el segmento de la lista de start y extendiéndose a end - 1.

Notar: Los .pista() el método regresa solamente el índice de la primera ocurrencia de value dentro list. 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.
Leer también  SQL Window Functions [With Example Queries + Cheat Sheet]

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!



Source link

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:

-Twitter

- 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

Dejar un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *