Usualmente, precisamos encontrar o índice, no qual o valor em particular está localizado. Há muitos métodos para conseguir isso, usando index() etc. Mas às vezes é necessário encontrar todos os índices de um determinado valor, caso ele tenha múltiplas ocorrências na lista.
Vamos discutir certas maneiras de encontrar índices de valor em determinada lista.
Método #1 : Método Naïf
Podemos alcançar esta tarefa iterando através da lista e verificar esse valor e apenas anexar o índice de valor em uma nova lista e imprimir isso. Este é o método básico de força bruta para alcançar esta tarefa.
test_list = print ("Original list : " + str(test_list)) res_list = for i in range(0, len(test_list)) : if test_list == 3 : res_list.append(i) print ("New indices list : " + str(res_list))
Original list : New indices list :
Método #2 : Usando a compreensão de lista
A compreensão de lista é apenas a técnica de abreviação para alcançar a tarefa de força bruta, apenas usa linhas menores de códigos para alcançar a tarefa e, portanto, poupa tempo aos programadores.
test_list = print ("Original list : " + str(test_list)) res_list = == 3] print ("New indices list : " + str(res_list)) Original list : New indices list :
Método #3 : Usando enumerate()
Usando enumerate() podemos alcançar a tarefa semelhante, esta é uma técnica ligeiramente mais rápida do que acima e, portanto, é recomendado para ser usado sobre a técnica de compreensão de lista.
test_list = print ("Original list : " + str(test_list)) res_list = print ("New indices list : " + str(res_list)) Original list : New indices list :
Método #4 : Usando filter()
Este é mais um método que pode ser empregado para realizar esta tarefa em particular, filter() geralmente é capaz de realizar as tarefas de filtragem e, portanto, também pode ser usado nesta situação para realizar esta tarefa.
test_list = print ("Original list : " + str(test_list)) res_list = list(filter(lambda x: test_list == 3, range(len(test_list)))) print ("New indices list : " + str(res_list)) Original list : New indices list :