Pular para o conteúdo principal

Tutorial de indexação de lista Python()

Neste tutorial, você aprenderá exclusivamente sobre a função index().
Actualizado 18 de jul. de 2024  · 6 min de leitura

Uma estrutura de dados é uma forma de organizar e armazenar dados que permite acesso e modificação eficientes. As listas são um tipo de estrutura de dados que armazena uma coleção de itens heterogêneos e são estruturas de dados incorporadas. O Python também fornece muitas funções ou métodos que você pode usar para 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 para trabalhar com a função index().

Para executar facilmente todos os exemplos de código deste tutorial, você pode criar gratuitamente uma pasta de trabalho do DataLab 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 cadeia de caracteres 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 instruções condicionais. Essa função é especialmente útil quando você trabalha com grandes conjuntos de dados ou estruturas complexas, onde a pesquisa manual pode ser demorada e propensa a erros.

Exemplos de índice Python

O método index() retorna o índice mais baixo da lista em que aparece o elemento pesquisado. Se um elemento que não estiver presente for pesquisado, você receberá um ValueError.

Vamos tentar isso:

list_numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
element = 3
list_numbers.index(element)
2
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

Índice de um elemento de cadeia de caracteres

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

O que significa retornar o índice mais baixo?

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 índice 0 em Python.

Eis o que está acontecendo internamente: o índice está percorrendo todos os valores a partir da 1ª posição (0º índice) à procura do elemento que você está procurando e, assim que encontra o valor, 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.

index() fornece a você uma opção para dar dicas sobre onde o valor procurado pode estar

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 sobre o intervalo, caso contrário, você receberá um ValueError, como 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

Compreensão da lista ou expressão do gerador

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

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 Python List Comprehension do DataCamp. No tutorial Python Iterator do DataCamp, você encontra mais informações sobre geradores e expressões de geradores.

Perguntas frequentes sobre o índice da lista Python

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().

Como posso encontrar o índice de um elemento em uma lista?

Você pode usar o método index() de uma lista para encontrar o índice de um elemento específico. Por exemplo, se my_list for uma lista e my_element for um elemento da lista, você poderá encontrar o índice de my_element com my_list.index(my_element).

Como posso encontrar todos os índices de um elemento em uma lista?

Você pode usar uma compreensão de lista para encontrar todos os índices de um elemento em uma lista. Por exemplo, se my_list for uma lista e my_element for um elemento da lista, você poderá encontrar todos os índices de my_element com [i for i in range(len(my_list)) if my_list[i] == my_element].

Temas

Cursos de Python

curso

Introduction to Python

4 hr
5.8M
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 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

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 do sublinhado (_) no tutorial de Python

Neste tutorial, você aprenderá sobre os usos do sublinhado (_) em python.
Hafeezul Kareem Shaik's photo

Hafeezul Kareem Shaik

8 min

tutorial

Tutorial de lambda em Python

Aprenda uma maneira mais rápida de escrever funções em tempo real com as funções lambda.
DataCamp Team's photo

DataCamp Team

3 min

tutorial

Tutorial de strings em Python

Neste tutorial, você aprenderá tudo sobre as cadeias de caracteres do Python: fatiamento e encadeamento, manipulação e formatação com a classe Formatter, cadeias de caracteres f, modelos e muito mais!
Sejal Jaiswal's photo

Sejal Jaiswal

16 min

tutorial

Tutorial do Python pandas: O guia definitivo para iniciantes

Você está pronto para começar sua jornada com os pandas? Aqui está um guia passo a passo sobre como você pode começar.
Vidhi Chugh's photo

Vidhi Chugh

15 min

See MoreSee More