Найти совпадающее значение

PythonPythonBeginner
Практиковаться сейчас

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

💡 Этот учебник переведен с английского с помощью ИИ. Чтобы просмотреть оригинал, вы можете перейти на английский оригинал

Введение

В Python мы можем использовать списочное выражение и next(), чтобы найти значение первого элемента в заданном списке, который удовлетворяет заданной проверочной функции. Это может быть полезно в многих сценариях, таких как поиск первого нечетного числа в списке или первого строкового значения, которое начинается с определенной буквы.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL python(("Python")) -.-> python/BasicConceptsGroup(["Basic Concepts"]) python(("Python")) -.-> python/DataStructuresGroup(["Data Structures"]) python(("Python")) -.-> python/AdvancedTopicsGroup(["Advanced Topics"]) python(("Python")) -.-> python/ControlFlowGroup(["Control Flow"]) 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/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-13640{{"Найти совпадающее значение"}} python/conditional_statements -.-> lab-13640{{"Найти совпадающее значение"}} python/for_loops -.-> lab-13640{{"Найти совпадающее значение"}} python/lists -.-> lab-13640{{"Найти совпадающее значение"}} python/tuples -.-> lab-13640{{"Найти совпадающее значение"}} python/function_definition -.-> lab-13640{{"Найти совпадающее значение"}} python/lambda_functions -.-> lab-13640{{"Найти совпадающее значение"}} python/build_in_functions -.-> lab-13640{{"Найти совпадающее значение"}} python/iterators -.-> lab-13640{{"Найти совпадающее значение"}} end

Найти совпадающее значение

Напишите функцию под названием find(lst, fn), которая принимает список lst и проверочную функцию fn в качестве аргументов. Функция должна возвращать значение первого элемента в lst, для которого fn возвращает True. Если ни один элемент не удовлетворяет проверочной функции, функция должна вернуть None.

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

Резюме

В этом испытании вы узнали, как найти значение первого элемента в списке, который удовлетворяет заданной проверочной функции, с использованием списочного выражения и next(). Эта техника может быть полезна в многих сценариях и поможет вам писать более эффективный и краткий код.