Trouver tous les index correspondants

PythonPythonBeginner
Pratiquer maintenant

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

💡 Ce tutoriel est traduit par l'IA à partir de la version anglaise. Pour voir la version originale, vous pouvez cliquer ici

Introduction

En Python, nous pouvons utiliser la fonction enumerate() pour itérer sur une liste et obtenir à la fois l'index et la valeur de chaque élément. Nous pouvons également utiliser la compréhension de liste pour filtrer les éléments qui satisfont une certaine condition. Dans ce défi, vous utiliserez ces concepts pour créer une fonction qui trouve les index de tous les éléments d'une liste qui satisfont une fonction de test donnée.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL python(("Python")) -.-> python/BasicConceptsGroup(["Basic Concepts"]) python(("Python")) -.-> python/ControlFlowGroup(["Control Flow"]) python(("Python")) -.-> python/DataStructuresGroup(["Data Structures"]) python(("Python")) -.-> python/FunctionsGroup(["Functions"]) python/BasicConceptsGroup -.-> python/comments("Comments") python/ControlFlowGroup -.-> python/conditional_statements("Conditional Statements") python/ControlFlowGroup -.-> python/for_loops("For Loops") python/ControlFlowGroup -.-> python/list_comprehensions("List Comprehensions") python/DataStructuresGroup -.-> python/lists("Lists") python/DataStructuresGroup -.-> python/tuples("Tuples") python/FunctionsGroup -.-> python/function_definition("Function Definition") python/FunctionsGroup -.-> python/lambda_functions("Lambda Functions") python/FunctionsGroup -.-> python/build_in_functions("Build-in Functions") subgraph Lab Skills python/comments -.-> lab-13633{{"Trouver tous les index correspondants"}} python/conditional_statements -.-> lab-13633{{"Trouver tous les index correspondants"}} python/for_loops -.-> lab-13633{{"Trouver tous les index correspondants"}} python/list_comprehensions -.-> lab-13633{{"Trouver tous les index correspondants"}} python/lists -.-> lab-13633{{"Trouver tous les index correspondants"}} python/tuples -.-> lab-13633{{"Trouver tous les index correspondants"}} python/function_definition -.-> lab-13633{{"Trouver tous les index correspondants"}} python/lambda_functions -.-> lab-13633{{"Trouver tous les index correspondants"}} python/build_in_functions -.-> lab-13633{{"Trouver tous les index correspondants"}} end

Trouver tous les index correspondants

Écrivez une fonction trouver_index_de_tous(lst, fn) qui prend une liste lst et une fonction de test fn en arguments et renvoie une liste d'index de tous les éléments de lst pour lesquels fn renvoie True.

Entrée

  • Une liste lst d'entiers.
  • Une fonction de test fn qui prend un entier en entrée et renvoie une valeur booléenne.

Sortie

  • Une liste d'entiers représentant les index de tous les éléments de lst pour lesquels fn renvoie True.
def trouver_index_de_tous(lst, fn):
  return [i for i, x in enumerate(lst) if fn(x)]
trouver_index_de_tous([1, 2, 3, 4], lambda n: n % 2 == 1) ## [0, 2]

Sommaire

Dans ce défi, vous avez appris à utiliser enumerate() et la compréhension de liste pour trouver les index de tous les éléments d'une liste qui satisfont une fonction de test donnée. Vous pouvez désormais utiliser ces connaissances pour résoudre des problèmes similaires à l'avenir.