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 :