【发布时间】:2019-12-16 21:04:46
【问题描述】:
我想定义一个函数,它接受 2 个参数 (x1, x2) 并从 0 to 100 迭代 x1 并返回函数的总和。
结果的简化版本应该是这样的:
f = lambda x1, x2: a*x1 + b*x2
x1 应该在i、i = [0, 1, ..., 100] 的范围内变化
f1 = f(0, x2) + f(1, x2) + f(3, x2) + ... + f(100, x2)
如何定义一个以正确格式返回上述f1 函数的函数?
我在下面尝试过,但没有成功:
f = lambda x1, x2: a*x1 + b*x2
f1 = lambda x2: (lambda x1=range(100):f(x1,x2))()
【问题讨论】:
-
a、b和x2是什么?x2是常量吗? -
你的意思是
f1 = lambda x2: sum(f(x1,x2) for x1 in range(100))? -
a 和 b 是常数,x2 是从 0 到 x2 的修正贝塞尔函数的积分。因为我想返回一个函数而不是一个列表,所以我不想为 x2 使用常量值。
标签: python function loops for-loop lambda