Trouver la dernière valeur correspondante

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 compréhension de liste et next() pour trouver la valeur du dernier élément d'une liste qui satisfait une fonction de test donnée. Ce défi vous testera sur votre capacité à utiliser ces outils pour résoudre un problème.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL python(("Python")) -.-> python/AdvancedTopicsGroup(["Advanced Topics"]) python(("Python")) -.-> python/BasicConceptsGroup(["Basic Concepts"]) python(("Python")) -.-> python/DataStructuresGroup(["Data Structures"]) python(("Python")) -.-> python/FunctionsGroup(["Functions"]) python(("Python")) -.-> python/ControlFlowGroup(["Control Flow"]) python/BasicConceptsGroup -.-> python/comments("Comments") python/ControlFlowGroup -.-> python/conditional_statements("Conditional Statements") python/ControlFlowGroup -.-> python/for_loops("For Loops") 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") python/AdvancedTopicsGroup -.-> python/iterators("Iterators") subgraph Lab Skills python/comments -.-> lab-13638{{"Trouver la dernière valeur correspondante"}} python/conditional_statements -.-> lab-13638{{"Trouver la dernière valeur correspondante"}} python/for_loops -.-> lab-13638{{"Trouver la dernière valeur correspondante"}} python/lists -.-> lab-13638{{"Trouver la dernière valeur correspondante"}} python/tuples -.-> lab-13638{{"Trouver la dernière valeur correspondante"}} python/function_definition -.-> lab-13638{{"Trouver la dernière valeur correspondante"}} python/lambda_functions -.-> lab-13638{{"Trouver la dernière valeur correspondante"}} python/build_in_functions -.-> lab-13638{{"Trouver la dernière valeur correspondante"}} python/iterators -.-> lab-13638{{"Trouver la dernière valeur correspondante"}} end

Trouver la dernière valeur correspondante

Écrivez une fonction trouver_dernier(lst, fn) qui prend une liste lst et une fonction de test fn en arguments. La fonction devrait renvoyer la valeur du dernier élément de lst pour lequel fn renvoie True. Si aucun élément ne satisfait la fonction de test, la fonction devrait renvoyer None.

Pour résoudre ce problème, vous devriez utiliser une compréhension de liste et next() pour itérer à travers la liste dans l'ordre inverse et renvoyer le dernier élément qui satisfait la fonction de test.

def trouver_dernier(lst, fn):
  return next(x for x in lst[::-1] if fn(x))
trouver_dernier([1, 2, 3, 4], lambda n: n % 2 == 1) ## 3

Résumé

Dans ce défi, vous avez appris à utiliser la compréhension de liste et next() pour trouver la valeur du dernier élément d'une liste qui satisfait une fonction de test donnée. Ceci est un outil utile pour filtrer et traiter des données en Python.