测试列表中是否有某些元素为真值

PythonPythonBeginner
立即练习

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

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

简介

在 Python 中,我们可以使用 any() 函数来检查列表中是否至少有一个元素为 True。在这个挑战中,你需要创建一个函数,该函数接受一个列表和一个函数作为参数,如果该函数对列表中的至少一个元素返回 True,则返回 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-13717{{"测试列表中是否有某些元素为真值"}} python/comments -.-> lab-13717{{"测试列表中是否有某些元素为真值"}} python/lists -.-> lab-13717{{"测试列表中是否有某些元素为真值"}} python/tuples -.-> lab-13717{{"测试列表中是否有某些元素为真值"}} python/function_definition -.-> lab-13717{{"测试列表中是否有某些元素为真值"}} python/default_arguments -.-> lab-13717{{"测试列表中是否有某些元素为真值"}} python/lambda_functions -.-> lab-13717{{"测试列表中是否有某些元素为真值"}} python/build_in_functions -.-> lab-13717{{"测试列表中是否有某些元素为真值"}} end

测试列表中是否有某些元素为真值

编写一个函数 some(lst, fn),它接受一个列表 lst 和一个函数 fn 作为参数。如果函数 fn 对列表 lst 中的至少一个元素返回 True,则该函数应返回 True。如果列表中没有元素满足该条件,函数应返回 False。如果未提供函数,该函数应使用恒等函数(即返回元素本身的函数)。

def some(lst, fn = lambda x: x):
  return any(map(fn, lst))
some([0, 1, 2, 0], lambda x: x >= 2 ) ## True
some([0, 0, 1, 0]) ## True

总结

在这个挑战中,你学习了如何结合使用 any() 函数和 map() 函数来检查一个函数对列表中的至少一个元素是否返回 True。你还创建了一个函数,它接受一个列表和一个函数作为参数,如果该函数对列表中的至少一个元素返回 True,则返回 True