Pular para o conteúdo principal

Método list index() do Python explicado com exemplos

Aprenda a usar a função index() do Python para encontrar a posição dos elementos nas listas.
Actualizado 28 de mar. de 2025  · 6 min de leitura

Em Python, uma estrutura de dados ajuda você a organizar e armazenar dados de forma eficiente. Uma estrutura comum e versátil é uma lista, que pode conter diferentes tipos de dados em uma ordem específica. O Python também fornece muitas funções ou métodos para você trabalhar com listas.

Neste tutorial, você aprenderá sobre a função Python index(). O método index() pesquisa um elemento na lista e retorna sua posição/índice. Primeiro, este tutorial apresentará as listas e, em seguida, você verá alguns exemplos simples de como trabalhar com a função index().

Para executar facilmente todo o código de exemplo deste tutorial, você pode criar uma pasta de trabalho do DataLab gratuitamente que tenha o Python pré-instalado e contenha todos os exemplos de código.

O que é indexação em Python?

Em Python, a indexação refere-se ao processo de acesso a um elemento específico em uma sequência, como uma string ou lista, usando sua posição ou número de índice. A indexação em Python começa em 0, o que significa que o primeiro elemento em uma sequência tem um índice 0, o segundo elemento tem um índice 1 e assim por diante. Por exemplo, se você tiver uma cadeia de caracteres "Hello", poderá acessar a primeira letra "H" usando seu índice 0 com a notação de colchetes: string[0].

A função index() integrada do Python é uma ferramenta útil para você encontrar o índice de um elemento específico em uma sequência. Essa função recebe um argumento que representa o valor a ser pesquisado e retorna o índice da primeira ocorrência desse valor na sequência.

Se o valor não for encontrado na sequência, a função emitirá um ValueError. Por exemplo, se tivermos uma lista [1, 2, 3, 4, 5], poderemos encontrar o índice do valor 3 chamando list.index(3), que retornará o valor 2 (já que 3 é o terceiro elemento da lista e a indexação começa em 0).

A função index() é uma ferramenta poderosa em Python, pois simplifica o processo de encontrar o índice de um elemento em uma sequência, eliminando a necessidade de escrever loops ou declarações condicionais. Essa função é especialmente útil quando você trabalha com grandes conjuntos de dados ou estruturas complexas, em que a pesquisa manual pode ser demorada e propensa a erros.

Aprenda Python do zero

Domine o Python para a ciência de dados e adquira habilidades que estão em alta.
Comece a aprender de graça

O que é a função index()?

O método index() retorna o índice mais baixo da lista em que aparece o elemento pesquisado.

Vamos experimentar:

list_numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
element = 3
list_numbers.index(element)
2

Se algum elemento que não estiver presente for pesquisado, você receberá um ValueError.

list_numbers = [4, 5, 6, 7, 8, 9, 10]
element = 3 # Not in the list
list_numbers.index(element) # Throws a ValueError
---------------------------------------------------------------------------

ValueError                                Traceback (most recent call last)

<ipython-input-35-6a006c988b06> in <module>()
      1 list_numbers = [4, 5, 6, 7, 8, 9, 10]
      2 element = 3 # Not in the list
----> 3 list_numbers.index(element) # Throws a ValueError


ValueError: 3 is not in list

Trabalhando com cordas

Vamos tentar fazer isso com elementos de string:

list_numbers = [1, 'two', 3, 4, 5, 6, 7, 8, 9, 10]
element = 'two'
list_numbers.index(element)
1

Observação: Ao pesquisar cadeias de caracteres, o site index() diferencia maiúsculas de minúsculas. Por exemplo, 'Hello'.index('h') criará um ValueError.

Como encontrar a primeira ocorrência

Se você tiver mais de uma instância de um elemento, o site index() fornecerá a primeira posição em que o elemento aparece.

list_numbers = [3, 1, 2, 3, 3, 4, 5, 6, 3, 7, 8, 9, 10]
element = 3
list_numbers.index(element)
0

A posição retornada é 0, porque 3 aparece pela primeira vez na primeira posição ou no 0º índice em Python.

Aqui está o que está acontecendo internamente: O índice percorre todos os valores a partir da 1ª posição (0º índice), procurando o elemento que você está pesquisando. Quando você encontra o valor, ele retorna a posição e sai do sistema. No entanto, isso não é muito eficiente quando se percorre uma lista grande e você precisa obter a posição de algo no final da lista.

Usando parâmetros de início e parada

list_numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
element = 7
list_numbers.index(element, 5, 8)
6

Portanto, a sintaxe é. : list_name.index(element, start, stop).

Aqui, os valores start e stop são opcionais. Na verdade, use-o somente quando tiver certeza absoluta do alcance; caso contrário, você receberá um ValueError, conforme mostrado abaixo.

list_numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
element = 7
list_numbers.index(element, 1, 5)
---------------------------------------------------------------------------

ValueError                                Traceback (most recent call last)

<ipython-input-39-b96f4b5e51d5> in <module>()
      1 list_numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
      2 element = 7
----> 3 list_numbers.index(element, 1, 5)


ValueError: 7 is not in list

Como encontrar todas as ocorrências

Como o index() retorna apenas a primeira correspondência de um objeto, você pode usar a compreensão de lista ou a expressão do gerador se precisar das posições de mais correspondências na lista. Veja como:

list_numbers = [3, 1, 2, 3, 3, 4, 5, 6, 3, 7, 8, 9, 10]
[i for i, n in enumerate(list_numbers) if n == 3] # List comprehension
[0, 3, 4, 8]
list_numbers = [3, 1, 2, 3, 3, 4, 5, 6, 3, 7, 8, 9, 10]
g = (i for i, n in enumerate(list_numbers) if n == 3) # Generator expression
print("Generators store values, the first value here is:", next(g), ". Then the next is:", next(g), "followed by ", next(g),"and finally ", next(g))
Generators store values, the first value here is: 0. Then the next is: 3 followed by  4 and finally  8

Os geradores são eficientes em termos de memória porque produzem itens um de cada vez, em vez de armazenar todos os resultados, como as compreensões de lista.

Considerações finais

Parabéns, você acabou de aprender sobre a função index() em Python! Você já viu como ele pode ajudá-lo a trabalhar com listas. Você também foi apresentado a alguns novos conceitos. Para saber mais sobre a compreensão de listas, confira o tutorial de compreensão de listas do Python da DataCamp. No tutorial Python Iterator da DataCamp, você encontra mais informações sobre geradores e expressões de geradores.

Obtenha a certificação para a função de cientista de dados dos seus sonhos

Nossos programas de certificação ajudam você a se destacar e a provar que suas habilidades estão prontas para o trabalho para possíveis empregadores.

Obtenha sua certificação
Timeline mobile.png

Sejal Jaiswal's photo
Author
Sejal Jaiswal
LinkedIn

Eu uso vários chapéus: Desenvolvedor de software, programador, cientista de dados, desenvolvedor de business intelligence, proprietário de produto

Perguntas frequentes

O que acontece se vários valores corresponderem ao elemento que estou procurando?

O método index() retorna apenas o índice da primeira ocorrência do elemento correspondente. Se você precisar de todas as posições, use uma compreensão de lista com enumerate().

Posso usar index() com tuplas ou cadeias de caracteres?

Sim! O método index() funciona em qualquer tipo de sequência, inclusive tuplas e cadeias de caracteres:

my_tuple = (1, 2, 3, 2)
print(my_tuple.index(2))  # Output: 1

text = "hello world"
print(text.index('o'))    # Output: 4

Existe uma maneira de lidar com o ValueError de forma elegante?

Sim, envolva a chamada index() em um bloco try...except para evitar falhas se o elemento não for encontrado:

my_list = [1, 2, 3]
try:
    print(my_list.index(4))
except ValueError:
    print("Element not found.")

Como posso pesquisar a partir do final da lista?

O método index() não é compatível com a pesquisa reversa. Para encontrar a última ocorrência, inverta a lista manualmente ou use uma compreensão:

my_list = [1, 2, 3, 2, 1]
last_index = len(my_list) - 1 - my_list[::-1].index(2)
print(last_index)  # Output: 3

Qual é a diferença entre index() e find()?

O método find() é usado com cadeias de caracteres e retorna -1 em vez de gerar um erro quando o valor não é encontrado. As listas não têm um método find().

text = "hello"
print(text.find('e'))  # Output: 1
print(text.find('z'))  # Output: -1

Posso usar index() com listas aninhadas?

Sim, mas somente no nível superior. O site index() não faz buscas dentro de estruturas aninhadas.

nested_list = [[1, 2], [3, 4]]
print(nested_list.index([3, 4]))  # Output: 1
# This won't work: nested_list.index(3)

O que é o erro "índice de lista fora do intervalo"?

O erro "índice de lista fora do intervalo" ocorre quando você tenta acessar um índice que está fora do intervalo de índices válidos para uma lista. Por exemplo, se uma lista tiver 5 elementos, os índices válidos serão de 0 a 4. Se você tentar acessar um índice maior ou igual a 5, receberá este erro.

Para evitar o erro "índice de lista fora do intervalo", você deve se certificar de que o índice que está tentando acessar está dentro do intervalo de índices válidos para a lista. Você pode usar a função len() para obter o comprimento de uma lista e verificar se um índice está dentro do intervalo de índices válidos.

O que é o erro "os índices da lista devem ser inteiros"?

O erro "os índices de lista devem ser inteiros" ocorre quando você tenta usar um valor não inteiro como índice de lista. Por exemplo, se você tentar usar um número de ponto flutuante ou uma cadeia de caracteres como um índice de lista, receberá este erro.

Para evitar o erro "os índices de lista devem ser inteiros", você deve se certificar de que está usando um valor inteiro como índice de lista. Se precisar usar um valor não inteiro como índice, você poderá convertê-lo em um inteiro usando a função int().

Temas

Aprenda mais sobre Python com estes cursos!

Curso

Introduction to Python

4 hr
6.1M
Master the basics of data analysis with Python in just four hours. This online course will introduce the Python interface and explore popular packages.
Ver DetalhesRight Arrow
Iniciar curso
Ver maisRight Arrow
Relacionado

Tutorial

Tutorial e exemplos de funções e métodos de lista do Python

Saiba mais sobre as funções e os métodos da Lista do Python. Siga exemplos de código para list() e outras funções e métodos Python agora!
Abid Ali Awan's photo

Abid Ali Awan

7 min

Tutorial

Função Python Print()

Saiba como você pode aproveitar os recursos de uma simples função Python Print de várias maneiras com a ajuda de exemplos.
Aditya Sharma's photo

Aditya Sharma

10 min

Tutorial

Matrizes Python

Matrizes Python com exemplos de código. Saiba como criar e imprimir matrizes usando o Python NumPy hoje mesmo!
DataCamp Team's photo

DataCamp Team

3 min

Tutorial

Tutorial de funções Python

Um tutorial sobre funções em Python que aborda como escrever funções, como chamá-las e muito mais!
Karlijn Willems's photo

Karlijn Willems

14 min

Tutorial

Python Copy List: O que você deve saber

Entenda como copiar listas em Python. Saiba como usar as funções copy() e list(). Descubra a diferença entre cópias superficiais e profundas.
Allan Ouko's photo

Allan Ouko

7 min

Tutorial

Tutorial de iteradores e geradores Python

Explore a diferença entre Iteradores e Geradores do Python e saiba quais são os melhores para usar em várias situações.
Kurtis Pykes 's photo

Kurtis Pykes

10 min

Ver maisVer mais