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
efim
).
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!