我想从预因子列表中定义一个函数,例如多项式。像这样的
order = [1,0,1]
def poly(x):
res = 0
for i, o in enumerate(order):
res += o * x**i
return res
所以poly(x)
返回1 + x²
。你知道吗
我需要为不同的x
多次调用该函数,但使用相同的预因子。上面的函数每次被调用时都执行for循环,这是相当低效的,尤其是当order
列表很长时。
如何只循环一次并调用不同x
的结果?什么是肾盂疗法?你知道吗
Tags:
根据@Eugene Sh的建议,可以消除反复提高权力的现象:
Python无法胜过数学。我们想到的唯一优化方法是避免计算用0乘以的项:
作为一个班轮:
代码#1:循环求和(慢)
示例:
poly(2,order=[2,0,2])
代码#2:和映射(更快)
示例:
poly(2,order=[2,0,2])
相关问题 更多 >
编程相关推荐