测试列表中的每个元素是否为真值

PythonPythonBeginner
立即练习

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

💡 本教程由 AI 辅助翻译自英文原版。如需查看原文,您可以 切换至英文原版

简介

在 Python 中,我们可以使用 all() 函数来检查列表中的所有元素是否都为真值。然而,有时我们可能想要检查列表中的每个元素是否都满足特定条件。在这个挑战中,你需要创建一个函数,该函数检查提供的函数对列表中的每个元素是否都返回 True


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL python(("Python")) -.-> python/BasicConceptsGroup(["Basic Concepts"]) python(("Python")) -.-> python/DataStructuresGroup(["Data Structures"]) python(("Python")) -.-> python/FunctionsGroup(["Functions"]) python/BasicConceptsGroup -.-> python/booleans("Booleans") python/BasicConceptsGroup -.-> python/comments("Comments") python/DataStructuresGroup -.-> python/lists("Lists") python/DataStructuresGroup -.-> python/tuples("Tuples") python/FunctionsGroup -.-> python/function_definition("Function Definition") python/FunctionsGroup -.-> python/default_arguments("Default Arguments") python/FunctionsGroup -.-> python/lambda_functions("Lambda Functions") python/FunctionsGroup -.-> python/build_in_functions("Build-in Functions") subgraph Lab Skills python/booleans -.-> lab-13627{{"测试列表中的每个元素是否为真值"}} python/comments -.-> lab-13627{{"测试列表中的每个元素是否为真值"}} python/lists -.-> lab-13627{{"测试列表中的每个元素是否为真值"}} python/tuples -.-> lab-13627{{"测试列表中的每个元素是否为真值"}} python/function_definition -.-> lab-13627{{"测试列表中的每个元素是否为真值"}} python/default_arguments -.-> lab-13627{{"测试列表中的每个元素是否为真值"}} python/lambda_functions -.-> lab-13627{{"测试列表中的每个元素是否为真值"}} python/build_in_functions -.-> lab-13627{{"测试列表中的每个元素是否为真值"}} end

测试列表中的每个元素是否为真值

编写一个名为 every(lst, fn = lambda x: x) 的函数,该函数接受一个列表 lst 和一个函数 fn 作为参数。如果 fn 对列表中的每个元素都返回 True,则该函数应返回 True,否则返回 False。如果未提供函数,则该函数默认应使用恒等函数(lambda x: x)。

要解决此问题,你需要结合使用 all() 函数、map() 和提供的函数 fn 来检查 fn 是否对列表中的所有元素都返回 True

def every(lst, fn = lambda x: x):
  return all(map(fn, lst))
every([4, 2, 3], lambda x: x > 1) ## True
every([1, 2, 3]) ## True

总结

在这个挑战中,你已经学会了如何创建一个函数,该函数用于检查提供的函数对列表中的每个元素是否都返回 True。你使用了 all() 函数,并结合 map() 和提供的函数来解决这个问题。