Manufaturação industrial
Internet das coisas industrial | Materiais industriais | Manutenção e reparo de equipamentos | Programação industrial |
home  MfgRobots >> Manufaturação industrial >  >> Industrial programming >> python

Python List index(): Como Encontrar Posições de Elementos com Exemplos Práticos

Listas em Python são coleções ordenadas que podem conter itens de qualquer tipo de dados — inteiros, strings, booleanos, listas aninhadas e mais. O método embutido list.index() é a maneira mais rápida de localizar a posição de um elemento dentro dessa sequência. Abaixo você encontrará um guia passo a passo, completo com snippets de código e técnicas alternativas para recuperar índices, mesmo quando um elemento aparece múltiplas vezes.

Entendendo list.index()

O método list.index() retorna o menor índice no qual um valor especificado aparece. Se o valor não estiver presente, levanta um ValueError. Para referência, veja a documentação oficial do Python.

Sintaxe

list.index(elemento, start=0, end=len(list))

Parâmetros

ParâmetroDescrição
elementoO valor que você deseja localizar.
startOpcional. Inicia busca a partir deste índice. Padrão é 0.
endOpcional. Para busca antes deste índice. Padrão é o comprimento da lista.

Valor de Retorno

Retorna o índice inteiro do primeiro elemento correspondente. Levanta ValueError se o elemento estiver ausente.

Exemplo: Uso Básico

my_list = ['A', 'B', 'C', 'D', 'E', 'F']
print("Index of 'C':", my_list.index('C')) # 2
print("Index of 'F':", my_list.index('F')) # 5

Exemplo: Usando start e end

my_list = ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J']
print("Index of 'C' between 1 and 5:", my_list.index('C', 1, 5)) # 2
print("Index of 'F' between 3 and 7:", my_list.index('F', 3, 7)) # 5
print("Index of 'D' starting from 1:", my_list.index('D', 1)) # 3

Exemplo: Elemento Não Encontrado

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

Recuperando Todos os Índices para um Elemento Repetido

Quando um valor ocorre múltiplas vezes, list.index() retorna apenas a primeira posição. Abaixo estão várias abordagens para capturar todos os índices.

Usando Loop For

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

Usando Loop While com index()

my_list = ['Guru', 'Siya', 'Tiya', 'Guru', 'Daksh', 'Riya', 'Guru']
indices = []
next_index = -1
while True:
    try:
        next_index = my_list.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(my_list) if val == 'Guru']
print(indices) # [0, 3, 6]

Usando enumerate()

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

Usando filter()

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

Técnicas Avançadas

NumPy para Grandes Conjuntos de Dados

Ao trabalhar com dados numéricos ou textuais grandes, converter a lista para array NumPy pode acelerar buscas.

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

more_itertools.locate()

Para uma abordagem funcional limpa, more_itertools.locate() retorna um iterador de índices que satisfazem um predicado.

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

Principais Conclusões

python

  1. Dominando std::list em C++: Sintaxe, Funções e Exemplos Práticos
  2. Dominando o Método strip() do Python: Guia Completo e Exemplos Práticos
  3. Domine o str.count() do Python: Como Contar Caracteres e Substrings com Exemplos
  4. Função round() em Python Explicada com Exemplos Práticos
  5. Dominando a Função map() do Python: Sintaxe, Exemplos e Boas Práticas
  6. Python timeit(): Medindo Tempo de Execução com Exemplos Práticos
  7. Counter do Python em collections: Contagem Eficiente, Atualização e Operações Aritméticas
  8. Python list.count(): Guia Especializado com Exemplos Práticos
  9. Como Remover Elementos Duplicados de uma Lista em Python
  10. Como Remover Itens de uma Lista em Python: remove(), pop(), clear() e del