在 Python 2.7.x 我有两个列表我想要一个返回第一个值(不是索引)的函数,如下所示
def first_incorrect_term(polynomial, terms):
for index in range(len(polynomial), len(terms)):
if evaluate(polynomial, index) != terms[index-1]:
return evaluate(polynomial, index)
让我们假设 evaluate 是一个有效的函数。我想将这三行看起来面向对象的内容替换为在 Python 中使用“查找”或某些此类函数的内容。
基本上,我正在遍历第二个列表的索引,而不是多项式中的数字项(因为我相信前 X 项将匹配),对其进行评估并与预期项进行比较。对于条款不匹配的第一个实例,我希望返回评估的多项式。
我正在寻找使用 Python find/lambda 或类似的东西来替换这 3 行,这是因为我绝对可以看到我没有使用链接中描述的 Python 功能
PS:这与 Project Euler 问题有些相关,但是我已经使用上面的代码片段解决了它,并希望提高我的“Python”技能:)