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.fimindica 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'))
# 1No 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))
# 5Na 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 listPermanecemos 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
inicioefim).
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!