Encuentra todos los índices coincidentes

Beginner

This tutorial is from open-source community. Access the source code

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 lst de enteros.
  • Una función de prueba fn que tome un entero como entrada y devuelva un valor booleano.

Salida

  • Una lista de enteros que representan los índices de todos los elementos en lst para los cuales fn devuelve True.
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.