我有一个用np.poly1d创建的不同多项式的列表:
polys = [p1,p2,...,pn]
我想知道采用这些多项式的特定参数的值:
xs = [8.1, 2.3, ..., 4.2] #nvalues
我想要的结果是:
ys = [p1(8.1), p2(2.3), ..., pn(4.2)] #I want the numeric values.
答案 0 :(得分:1)
[poly(x) for (poly, x) in zip(polys, xs)]
我认为您要做的是将两个列表一起zip,然后将第一个列表中的函数应用于第二个列表中的值。
答案 1 :(得分:1)
您可以简单地使用zip
来获得(function, value)
对的可迭代对象,以便可以调用function(value)
。
演示:
>>> polys = [lambda x: x, lambda x: x**2, lambda x: x**3]
>>> xs = [2, 4, 6]
>>>
>>> ys = [f(x) for f, x in zip(polys, xs)]
>>> ys
[2, 16, 216]
答案 2 :(得分:0)
ys = []
for p, val in zip(polys, xs):
ys.append(p(val))