gpt4 book ai didi

python - 搜索算法但针对函数

转载 作者:太空狗 更新时间:2023-10-29 22:05:05 25 4
gpt4 key购买 nike

给定一个输入列表(假设它们只是整数)和一个函数列表(这些函数接受一个整数,并返回 True 或 False)。

我必须获取这个输入列表,并查看列表中的任何函数是否会为列表中的任何值返回 True。

有什么方法可以比 O(n^2) 更快

我现在有的是

for v in values:
for f in functions:
if f(v):
# do something to v
break

有什么更快的方法吗?

最佳答案

没有关于函数的任何进一步信息,len(functions) * len(values) 可能的函数调用的结果必须被认为是相互独立的,所以没有比检查更快的方法他们都是。

不过,您可以将其写得更简洁一些:

any(f(v) for v in values for f in functions)

内置函数 any() 也会短路,就像您的原始代码一样。

编辑:事实证明,所需的等价物是

all(any(f(v) for f in functions) for v in values)

查看评论以进行讨论。

关于python - 搜索算法但针对函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10737986/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com