我正在开发一个python程序,该程序应接收两个列表(x,y)和多个函数(以x,y表示),然后为每个函数返回一个列表,其中包含列表中每个元素的输出,所以这就是我尝试的:
from sympy import *
from sympy.abc import x, y
#Entering the functions
SympF=[]
F=[]
n = int(input("Please enter the number of terms in the general regression formula : "))
for i in range(0, n):
SympF.append(sympify(input("Insert your functions : \n")))
F.append (lambdify([x, y], SympF[i]))
#Entering Points
xdata = []
ydata = []
m = int(input("Enter number of elements : "))
print('Enter each point as space seperated x & y')
for i in range(0, m):
x,y = map(float, input().split())
xdata.append(x)
ydata.append(y)
#making a list for each function (this is where I'm stuck)
Z=[]
for i in range(0, n):
for j in range (0,m):
Z.append(F[i](xdata[j],ydata[j]))
for item in F:
print(F);
这段代码应该做的是给我一个列表Z,其中包含F [i],F [i + 1],F [i + 2] ...的输出,但是我得到的是错误:
[<function _lambdifygenerated at 0x00000229CA678438>, <function _lambdifygenerated at 0x00000229CAB31708>, <function _lambdifygenerated at 0x00000229CAB318B8>]
[<function _lambdifygenerated at 0x00000229CA678438>, <function _lambdifygenerated at 0x00000229CAB31708>, <function _lambdifygenerated at 0x00000229CAB318B8>]
[<function _lambdifygenerated at 0x00000229CA678438>, <function _lambdifygenerated at 0x00000229CAB31708>, <function _lambdifygenerated at 0x00000229CAB318B8>]
所以我想念的是,还有没有比使用单个列表Z然后拆分它更好的方法呢(将n个列表返回包含来自for循环的输出)?