Introducción
En Python, podemos usar la función enumerate() para iterar sobre una lista y obtener tanto el índice como el valor de cada elemento. También podemos usar comprensión de listas para filtrar los elementos que cumplen una cierta condición. En este desafío, usarás estos conceptos para crear una función que encuentre los índices de todos los elementos en una lista que cumplen una función de prueba dada.
Encuentra todos los índices coincidentes
Escribe una función find_index_of_all(lst, fn) que tome una lista lst y una función de prueba fn como argumentos y devuelva una lista de índices de todos los elementos en lst para los cuales fn devuelve True.
Entrada
- Una lista
lstde enteros. - Una función de prueba
fnque tome un entero como entrada y devuelva un valor booleano.
Salida
- Una lista de enteros que representan los índices de todos los elementos en
lstpara los cualesfndevuelveTrue.
def find_index_of_all(lst, fn):
return [i for i, x in enumerate(lst) if fn(x)]
find_index_of_all([1, 2, 3, 4], lambda n: n % 2 == 1) ## [0, 2]
Resumen
En este desafío, aprendiste cómo usar enumerate() y comprensión de listas para encontrar los índices de todos los elementos en una lista que cumplen una función de prueba dada. Ahora puedes usar este conocimiento para resolver problemas similares en el futuro.