Artigo original: List indexOf for Python? How to Get the Index of an Item in a List with .index()

Existem várias técnicas que podemos usar para obter o índice de um item em uma lista em Python, como a função enumerate(), um laço for ou o método index().

Neste artigo, vamos nos concentrar em como obter o índice de um item em uma lista usando o método index().

Começaremos examinando a sintaxe desse método e, em seguida, veremos alguns exemplos para ajudá-lo a entender como usá-lo em seu código.

Qual é a sintaxe do método index() em Python?

Para retornar o índice do item que estamos querendo saber, precisamos passar para o método index(), no mínimo, o parâmetro com o valor do item que estamos procurando. Esse, no entanto, não é o único parâmetro que podemos usar no método index().

Veja como é a sintaxe completa:

lista.index(item, inicio, fim)

Aqui vemos um detalhamento dos parâmetros acima:

  • item é o valor do item cujo índice estamos querendo pesquisar.
  • inicio é um parâmetro opcional que indica o ponto de partida na lista onde a pesquisa deve começar. Isso é bem útil quando temos um item repetido.
  • fim indica o índice onde a pesquisa deve parar. Este parâmetro também é opcional.

Como obter o índice de um item em uma lista com o método .index()

Nesta seção, você verá como usar o método index() para obter o índice de um item em uma lista. Você também verá como usar todos os parâmetros.

Aqui está o primeiro exemplo:

listaDeNomes = ['Fulano', 'Fulana', 'DeTal', 'Ihechikara']

print(listaDeNomes.index('Fulana'))
# 1

No código acima, criamos uma lista de nomes: listaDeNomes = ['Fulano', 'Fulana', 'DeTal', 'Ihechikara'].

E usando o método index(), obtivemos o índice de "Fulana" na lista: listaDeNomes.index('Fulana').

Foi impresso no console o resultado da busca, que retornou o valor 1.

Caso você não entenda por que foi retornado 1, observe que listas são indexadas a partir de zero – então, o primeiro item tem o índice 0, o segundo tem o índice 1 e assim por diante. Fica assim:

'Fulano' => índice 0
'Fulana' => índice 1
'DeTal' => índice 2
'Ihechikara' => índice 3

Como usar os parâmetros inicio e fim com o método index() no Python

Nesta seção, você verá como usar os parâmetros inicio e fim com o método index(). Vamos ao exemplo:

listaDeNomes = ['Fulano', 'Fulana', 'DeTal', 'Ihechikara', 'Fulano', 'Fulana', 'DeTal', 'Ihechikara']

print(listaDeNomes.index('Fulana', 2))
# 5

Na lista acima, temos nomes com valores duplicados: ['Fulano', 'Fulana', 'DeTal', 'Ihechikara', 'Fulano', 'Fulana', 'DeTal', 'Ihechikara'].

Mas queremos obter o índice do segundo item "Fulana". Sabendo que o índice do primeiro item "Fulana" é 1, então podemos iniciar a busca após esse item.

Para iniciar a busca após o primeiro item "Fulana", definimos o parâmetro inicio do método index(): listaDeNomes.index("Fulana", 2). Agora, a pesquisa pelo índice de um item com o valor "Fulana" começará a partir do índice 2.

Recebemos o retorno com o valor 5 porque esse é o índice do segundo item "Fulana". Se não tivéssemos especificado um índice para inicio, o método index() teria retornado o primeiro índice encontrado desse valor.

Agora vou mostrar um exemplo para você entender como usar o parâmetro fim:

listaDeNomes = ['Fulano', 'Fulana', 'DeTal', 'Ihechikara', 'Fulano', 'Fulana', 'DeTal', 'Ihechikara']

print(listaDeNomes.index("Fulana", 2,4))
# ValueError: 'Fulana' is not in list

Permanecemos com o índice 2 para o inicio e definimos o índice 4 para o parâmetro fim. Agora estamos procurando o índice de "Fulana" dentro do intervalo especificado (índice 2 e 4).

Recebemos um erro como retorno: ValueError: 'Fulana' is not in list. Isso ocorreu porque "Fulana" não está dentro do intervalo que especificamos.

Lembre-se de que começamos no índice 2, então a pesquisa foi feita em:

Índice 2 ( inicio) => 'DeTal'
Índice 3 => 'Ihechikara'
Índice 4 ( fim) => 'Fulano'

Nos índices acima, você pode ver que o valor "Fulana" não existe dentro do intervalo, portanto, foi retornado um erro.

Você recebe um erro ValueError em uma lista sempre que:

  • O item procurado não existe na lista.
  • O item procurado não está dentro do intervalo de busca especificado (com inicio e fim).

Resumo

Neste artigo, falamos sobre o método index() em Python. Você o usa para encontrar o índice de um item em uma lista.

Vimos alguns exemplos que mostraram como usá-lo com ou sem os parâmetros inicio e fim.

Divirta-se com os códigos!