Encontrar Todos os Índices Correspondentes

Beginner

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

Introdução

Em Python, podemos usar a função enumerate() para iterar sobre uma lista e obter tanto o índice quanto o valor de cada elemento. Também podemos usar list comprehension (compreensão de lista) para filtrar elementos que satisfazem uma determinada condição. Neste desafio, você usará esses conceitos para criar uma função que encontra os índices de todos os elementos em uma lista que satisfazem uma função de teste dada.

Encontrar Todos os Índices Correspondentes

Escreva uma função find_index_of_all(lst, fn) que recebe uma lista lst e uma função de teste fn como argumentos e retorna uma lista de índices de todos os elementos em lst para os quais fn retorna True.

Entrada

  • Uma lista lst de inteiros.
  • Uma função de teste fn que recebe um inteiro como entrada e retorna um valor booleano.

Saída

  • Uma lista de inteiros representando os índices de todos os elementos em lst para os quais fn retorna 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]

Resumo

Neste desafio, você aprendeu como usar enumerate() e list comprehension (compreensão de lista) para encontrar os índices de todos os elementos em uma lista que satisfazem uma função de teste dada. Agora você pode usar esse conhecimento para resolver problemas semelhantes no futuro.