Por lo general, requerimos encontrar el índice, en el que se encuentra el valor particular. Hay muchos métodos para lograr que, utilizando index()
etc. Pero a veces se requiere encontrar todos los índices de un valor particular en caso de que tenga múltiples ocurrencias en la lista.
Discutiremos ciertas formas de encontrar los índices de un valor en una lista dada.
Método #1 : Método ingenuo
Podemos lograr esta tarea iterando a través de la lista y buscar ese valor y simplemente añadir el índice del valor en la nueva lista e imprimirlo. Este es el método básico de fuerza bruta para lograr esta tarea.
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))
Salida:
Original list : New indices list :
Método #2 : Usando la comprensión de la lista
La comprensión de la lista es sólo la técnica abreviada para lograr la tarea de fuerza bruta, sólo utiliza menos líneas de códigos para lograr la tarea y por lo tanto ahorra tiempo a los 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 lograr la tarea similar, esta es una técnica ligeramente más rápida que la anterior y por lo tanto se recomienda su uso sobre la técnica de comprensión de la 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 es otro método que se puede emplear para lograr esta tarea en particular, filter()
generalmente es capaz de realizar las tareas de filtrado y por lo tanto también se puede utilizar en esta situación para lograr esta tarea.
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 :