我想编写一个接受两个列表的函数,一个x值和一个y(x)值,并在给定x值时返回相应的y(x)值 . 我还想使用线性插值来找到列表中数字之间的x值的y(x) . 例如
f = function([3, 4, 6], [0, 1, 2])
print f(3)
应该返回0.0
到目前为止,我没有完整的代码,但我试图使用
interp1d(numpy.array(xs), numpy.array(ys), 'linear')
用于插值
for i in range(len(xs)): return ys[i]
这对于列表中的值,但我真的不知道如何把它放在一起
1 回答
您可以
zip
您的列表并转换为字典然后将字典传递给lambda
:但是,由于上述解决方案可能会引发
KeyError
,您可以使用以下工厂函数: