Manufactura industrial
Internet industrial de las cosas | Materiales industriales | Mantenimiento y reparación de equipos | Programación industrial |
home  MfgRobots >> Manufactura industrial >  >> Industrial programming >> python

Python list.index(): Cómo Encontrar Posiciones de Elementos con Ejemplos Prácticos

Las listas en Python son colecciones ordenadas que pueden contener items de cualquier tipo de dato —enteros, strings, booleanos, listas anidadas y más. El método integrado list.index() es la forma más rápida de localizar la posición de un elemento dentro de esa secuencia. A continuación encontrarás una guía paso a paso, completa con snippets de código y técnicas alternativas para recuperar índices, incluso cuando un elemento aparece múltiples veces.

Entendiendo list.index()

El método list.index() devuelve el índice más bajo en el que aparece un valor especificado. Si el valor no está presente, lanza ValueError. Para referencia, consulta la documentación oficial de Python.

Sintaxis

lista.index(elemento, inicio=0, fin=len(lista))

Parámetros

ParámetroDescripción
elementoEl valor que quieres localizar.
inicioOpcional. Inicia búsqueda desde este índice. Por defecto 0.
finOpcional. Detiene búsqueda antes de este índice. Por defecto longitud de la lista.

Valor de Retorno

Devuelve el índice entero de la primera coincidencia. Lanza ValueError si el elemento está ausente.

Ejemplo: Uso Básico

mi_lista = ['A', 'B', 'C', 'D', 'E', 'F']
print("Índice de 'C':", mi_lista.index('C')) # 2
print("Índice de 'F':", mi_lista.index('F')) # 5

Ejemplo: Usando inicio y fin

mi_lista = ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J']
print("Índice de 'C' entre 1 y 5:", mi_lista.index('C', 1, 5)) # 2
print("Índice de 'F' entre 3 y 7:", mi_lista.index('F', 3, 7)) # 5
print("Índice de 'D' desde 1:", mi_lista.index('D', 1)) # 3

Ejemplo: Elemento No Encontrado

mi_lista = ['A', 'B', 'C', 'D']
try:
    mi_lista.index('Z')
except ValueError as e:
    print(e) # 'Z' is not in list

Recuperando Todos los Índices para un Elemento Repetido

Cuando un valor ocurre múltiples veces, list.index() solo devuelve la primera posición. A continuación, varios enfoques para capturar cada índice.

Usando Bucle For

mi_lista = ['Guru', 'Siya', 'Tiya', 'Guru', 'Daksh', 'Riya', 'Guru']
indices = []
for i, val in enumerate(mi_lista):
    if val == 'Guru':
        indices.append(i)
print(indices) # [0, 3, 6]

Usando Bucle While con index()

mi_lista = ['Guru', 'Siya', 'Tiya', 'Guru', 'Daksh', 'Riya', 'Guru']
indices = []
next_index = -1
while True:
    try:
        next_index = mi_lista.index('Guru', next_index + 1)
        indices.append(next_index)
    except ValueError:
        break
print(indices) # [0, 3, 6]

List Comprehension

indices = [i for i, val in enumerate(mi_lista) if val == 'Guru']
print(indices) # [0, 3, 6]

Usando enumerate()

indices = [i for i, val in enumerate(mi_lista) if val == 'Guru']
print(indices) # [0, 3, 6]

Usando filter()

indices = list(filter(lambda i: mi_lista[i] == 'Guru', range(len(mi_lista))))
print(indices) # [0, 3, 6]

Técnicas Avanzadas

NumPy para Grandes Datasets

Al trabajar con datos numéricos o textuales grandes, convertir la lista a array NumPy puede acelerar búsquedas.

pip install numpy
import numpy as np
mi_lista = ['Guru', 'Siya', 'Tiya', 'Guru', 'Daksh', 'Riya', 'Guru']
array = np.array(mi_lista)
indices = np.where(array == 'Guru')[0]
print(indices) # [0 3 6]

more_itertools.locate()

Para un enfoque funcional limpio, more_itertools.locate() devuelve un iterador de índices que satisfacen un predicado.

pip install more_itertools
from more_itertools import locate
indices = list(locate(mi_lista, lambda x: x == 'Guru'))
print(indices) # [0, 3, 6]

Puntos Clave

python

  1. Dominar std::list en C++: Sintaxis, Funciones y Ejemplos Prácticos
  2. Función print() en Python: Guía Práctica con Ejemplos
  3. Domine el Método strip() de Python: Guía Completa y Ejemplos Prácticos
  4. Domine str.count() en Python: Cómo Contar Caracteres y Subcadenas con Ejemplos
  5. Función round() en Python explicada con ejemplos prácticos
  6. Dominando la función map() de Python: sintaxis, ejemplos y mejores prácticas
  7. Python timeit(): medición de tiempo de ejecución con ejemplos prácticos
  8. Counter de collections en Python: conteo eficiente, actualización y operaciones aritméticas
  9. Python list.count(): Guía Experta con Ejemplos Prácticos
  10. Cómo Eliminar Elementos Duplicados de una Lista en Python: 8 Métodos Efectivos
  11. Cómo Eliminar Ítems de una Lista en Python: remove(), pop(), clear() y del