我必须做以下事情:
函数eval_f(f,xs),它取一个函数f = f(x)和一个值的列表xs,它们应该用作f的参数。函数eval_f应该在xs中的每个值x后面应用函数f,并返回函数值的列表fs。即对于输入参数xs = [x0,x1,x2,...,xn],函数eval_f(f,xs)应返回[f(x0),f(x1),f(x2),...,f (XN)。
import math
def eval_f(f, xs):
x = []
f = f(x)
for i in range(len(xs)):
f.append(f(x[i]))
return f
eval_f(math.sqrt,[1,2,4,9]) 回溯(最近一次调用最后一次):
文件"",第1行,in eval_f(math.sqrt,[1,2,4,9])
文件" C:/Users/Idoia/untitled2.py",第6行,在eval_f中 f = f(x)
TypeError:需要浮点数
答案 0 :(得分:2)
对于输入参数xs = [x0,x1,x2,...,xn],函数eval_f(f,xs)应返回[f(x0),f(x1),f(x2),.. 。,f(xn)]。
您希望map
列表中的f
函数
如果使用Python3,
def eval_f(f, xs):
return list(map(f, xs))
您可以删除list()
for python2
答案 1 :(得分:1)
FOR /F "tokens=*" %%s IN ('dir /b /s "%MapDirectory%\%FullName%"') DO (set DesiredMapFilePath=%%s)
打印出来:
def test(x):
return x*2
def eval_f(f, xs):
ans = []
for x in xs:
ans.append(f(x))
return ans
print(eval_f(test,[1,2,3,4,5]))