Manufaturação industrial
Internet das coisas industrial | Materiais industriais | Manutenção e reparo de equipamentos | Programação industrial |
home  MfgRobots >> Manufaturação industrial >  >> Industrial programming >> python

Python List index() com exemplo


Uma lista é um contêiner que armazena itens de diferentes tipos de dados (ints, floats, Boolean, strings, etc.) em uma sequência ordenada. É uma estrutura de dados importante que está embutida no Python. Os dados são escritos entre colchetes ([]) e os valores são separados por vírgula(,).

Os itens dentro da lista são indexados com o primeiro elemento começando no índice 0. Você pode fazer alterações na lista criada adicionando novos itens ou atualizando, excluindo os existentes. Ele também pode ter itens duplicados e uma lista aninhada.

Existem muitos métodos disponíveis em uma lista, e o mais importante é o index().

Neste tutorial, você aprenderá:

Índice da lista Python()


O método list index() ajuda você a encontrar o primeiro índice mais baixo do elemento fornecido. Se houver elementos duplicados dentro da lista, o primeiro índice do elemento será retornado. Essa é a maneira mais fácil e direta de obter o índice.

Além do método list index() embutido, você também pode usar outras maneiras de obter o índice, como percorrer a lista, usando compreensões de lista, enumerate(), métodos de filtro.

O método list index() retorna o primeiro índice mais baixo do elemento fornecido.

Sintaxe

list.index(element, start, end)

Parâmetros

Parâmetros Descrição
elemento O elemento que você deseja obter o índice.
iniciar Este parâmetro é opcional. Você pode definir o start:index para procurar o elemento. Se não for fornecido, o valor padrão é 0.
fim Este parâmetro é opcional. Você pode especificar o índice final do elemento a ser pesquisado. Se não for dado, é considerado até o final da lista.

Valor de retorno


O método list index() retorna o índice do elemento fornecido. Se o elemento não estiver presente na lista, o método index() lançará um erro, por exemplo, ValueError:‘Element’ não está na lista.

Exemplo:para encontrar o índice do elemento fornecido.


Na lista my_list =[‘A’, ‘B’, ‘C’, ‘D’, ‘E’, ‘F’] , gostaríamos de saber o índice para o elemento C e F.

O exemplo abaixo mostra como obter o índice.
my_list = ['A', 'B', 'C', 'D', 'E', 'F']
print("The index of element C is ", my_list.index('C'))
print("The index of element F is ", my_list.index('F'))

Resultado:
The index of element C is  2
The index of element F is  5

Exemplo:Usando start e end em index()


Neste exemplo, tentaremos limitar a pesquisa de índice em uma lista usando o índice inicial e final.
my_list = ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J']
print("The index of element C is ", my_list.index('C', 1, 5))
print("The index of element F is ", my_list.index('F', 3, 7))
#using just the startindex
print("The index of element D is ", my_list.index('D', 1))

Resultado:
The index of element C is  2
The index of element F is  5
The index of element D is  3

Exemplo:para testar o método index() com um elemento que não está presente.


Quando você tenta procurar o índice na lista por um elemento que não está presente, você receberá um erro conforme mostrado abaixo:
my_list = ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J']
print("The index of element C is ", my_list.index('Z'))

Resultado:
Traceback (most recent call last):
File "display.py", line 3, in <module>
print("The index of element C is ", my_list.index('Z'))
ValueError: 'Z' is not in list

Usando for-loop para obter o índice de um elemento em uma lista


Com o método list.index(), vimos que ele fornece o índice do elemento que é passado como argumento.

Agora considere a lista como:my_list =[‘Guru’, ‘Siya’, ‘Tiya’, ‘Guru’, ‘Daksh’, ‘Riya’, ‘Guru’] . O nome ‘Guru’ está presente 3 vezes no índice, e eu quero todos os índices com o nome ‘Guru’.

Usando for-loop, devemos ser capazes de obter os vários índices, conforme mostrado no exemplo abaixo.
my_list = ['Guru', 'Siya', 'Tiya', 'Guru', 'Daksh', 'Riya', 'Guru'] 
all_indexes = [] 
for i in range(0, len(my_list)) : 
    if my_list[i] == 'Guru' : 
        all_indexes.append(i)
print("Originallist ", my_list)
print("Indexes for element Guru : ", all_indexes)

Resultado:
Originallist  ['Guru', 'Siya', 'Tiya', 'Guru', 'Daksh', 'Riya', 'Guru']
Indexes for element Guru :  [0, 3, 6]

Usando while-loop e list.index()


O uso de um loop while fará um loop pela lista fornecida para obter todos os índices do elemento fornecido.

Na lista:my_list =[‘Guru’, ‘Siya’, ‘Tiya’, ‘Guru’, ‘Daksh’, ‘Riya’, ‘Guru’], precisamos de todos os índices do elemento ‘Guru’.

Abaixo está um exemplo que mostra como obter todos os índices usando while-loop
my_list = ['Guru', 'Siya', 'Tiya', 'Guru', 'Daksh', 'Riya', 'Guru'] 
result = []
elementindex = -1
while True:
    try:
        elementindex = my_list.index('Guru', elementindex+1)
        result.append(elementindex)
    except  ValueError:
        break
print("OriginalList is ", my_list)
print("The index for element Guru is ", result)

Resultado:
OriginalList is  ['Guru', 'Siya', 'Tiya', 'Guru', 'Daksh', 'Riya', 'Guru']
The index for element Guru is  [0, 3, 6]

Usando a compreensão da lista para obter o índice do elemento em uma lista


Para obter todos os índices, uma maneira rápida e direta é usar a compreensão de lista na lista.

As compreensões de lista são funções do Python que são usadas para criar novas sequências (como listas, dicionários, etc.), ou seja, usando sequências que já foram criadas.

Eles ajudam a reduzir loops mais longos e tornam seu código mais fácil de ler e manter.

O exemplo a seguir mostra como fazer:
my_list = ['Guru', 'Siya', 'Tiya', 'Guru', 'Daksh', 'Riya', 'Guru'] 
print("Originallist ", my_list)
all_indexes = [a for a in range(len(my_list)) if my_list[a] == 'Guru']
print("Indexes for element Guru : ", all_indexes)

Resultado:
Originallist  ['Guru', 'Siya', 'Tiya', 'Guru', 'Daksh', 'Riya', 'Guru']
Indexes for element Guru :  [0, 3, 6]

Usando Enumerar para obter o índice de um elemento em uma lista


A função Enumerate() é uma função integrada disponível com python. Você pode usar enumerate para obter todos os índices do elemento em uma lista. Ele recebe a entrada como um objeto iterável (ou seja, um objeto que pode ser repetido) e a saída é um objeto com um contador para cada item.

O exemplo a seguir mostra como usar enumerate em uma lista para obter todos os índices de um determinado elemento.
my_list = ['Guru', 'Siya', 'Tiya', 'Guru', 'Daksh', 'Riya', 'Guru'] 
print("Originallist ", my_list)
print("Indexes for element Guru : ", [i for i, e in enumerate(my_list) if e == 'Guru'])

Resultado:
Originallist  ['Guru', 'Siya', 'Tiya', 'Guru', 'Daksh', 'Riya', 'Guru']
Indexes for element Guru :  [0, 3, 6]

Usando filtro para obter o índice de um elemento em uma lista


O método filter() filtra a lista fornecida com base na função fornecida. Cada elemento da lista será passado para a função e os elementos necessários serão filtrados com base na condição fornecida na função.

Vamos usar o método filter() para obter os índices do elemento fornecido na lista.

O exemplo a seguir mostra como usar o filtro em uma lista.
my_list = ['Guru', 'Siya', 'Tiya', 'Guru', 'Daksh', 'Riya', 'Guru'] 
print("Originallist ", my_list)
all_indexes = list(filter(lambda i: my_list[i] == 'Guru', range(len(my_list)))) 
print("Indexes for element Guru : ", all_indexes)

Resultado:
Originallist  ['Guru', 'Siya', 'Tiya', 'Guru', 'Daksh', 'Riya', 'Guru']
Indexes for element Guru :  [0, 3, 6]

Usando NumPy para obter o índice de um elemento em uma lista


A biblioteca NumPy é usada especialmente para arrays. Então, aqui faremos uso do NumPy para obter o índice do elemento que precisamos da lista fornecida.

Para fazer uso do NumPy, temos que instalá-lo e importá-lo.

Aqui estão os passos para o mesmo:

Etapa 1) Instalar NumPy
pip install numpy

Etapa 2) Importe o módulo NumPy.
import numpy as np

Etapa 3) Faça uso de np.array para converter lista em uma matriz
my_list = ['Guru', 'Siya', 'Tiya', 'Guru', 'Daksh', 'Riya', 'Guru'] 
np_array = np.array(my_list)

Etapa 4) Obtenha o índice do elemento desejado, usando np.where()
item_index = np.where(np_array == 'Guru')[0]

O código de trabalho final com saída é o seguinte:
import numpy as np
my_list = ['Guru', 'Siya', 'Tiya', 'Guru', 'Daksh', 'Riya', 'Guru'] 
np_array = np.array(my_list)
item_index = np.where(np_array == 'Guru')[0]
print("Originallist ", my_list)
print("Indexes for element Guru :", item_index)

Resultado:
Originallist['Guru', 'Siya', 'Tiya', 'Guru', 'Daksh', 'Riya', 'Guru']
Indexes for element Guru : [0 3 6]

Usando more_itertools.locate() para obter o índice de um elemento em uma lista


O more_itertools.locate() ajuda a encontrar os índices do elemento na lista. Este módulo funcionará com python versão 3.5+. O pacote more_itertools tem que ser instalado primeiro para fazer uso dele.

A seguir estão as etapas para instalar e usar more_itertools

Etapa 1) Instale more_itertools usando pip (gerenciador de pacotes python). O comando é
pip install more_itertools

Etapa 2) Quando a instalação estiver concluída, importe o localizar módulo como mostrado abaixo
from more_itertools import locate

Agora você pode usar o módulo locate em uma lista conforme mostrado abaixo no exemplo:
from more_itertools import locate
my_list = ['Guru', 'Siya', 'Tiya', 'Guru', 'Daksh', 'Riya', 'Guru'] 
print("Originallist : ", my_list)
print("Indexes for element Guru :", list(locate(my_list, lambda x: x == 'Guru'))) 

Resultado:
Originallist :  ['Guru', 'Siya', 'Tiya', 'Guru', 'Daksh', 'Riya', 'Guru']
Indexes for element Guru : [0, 3, 6]

Resumo:


python

  1. std::list em C++ com exemplo
  2. Função Python String strip () com EXEMPLO
  3. Python String count() com EXEMPLOS
  4. Função Python round() com EXEMPLOS
  5. Função Python map() com EXEMPLOS
  6. Python Timeit() com exemplos
  7. Contador Python em coleções com exemplo
  8. Python List count() com EXEMPLOS
  9. Python remove duplicatas de uma lista
  10. Remover elemento de um Python LIST [clear, pop, remove, del]