【发布时间】:2017-10-15 11:51:58
【问题描述】:
我需要在 lambda AWS 上运行以下函数:
def subset_sum(numbers, target, partial=[]):
s = sum(partial)
# check if the partial sum is equals to target
if s == target:
print("sum(%s)=%s" % (partial, target))
if s >= target:
return # if we reach the number why bother to continue
for i in range(len(numbers)):
n = numbers[i]
remaining = numbers[i + 1:]
subset_sum(remaining, target, partial + [n])
if __name__ == "__main__":
subset_sum([1,2,3], 5)
但是出现以下错误,我无法解决:
{
"errorMessage": "'>=' not supported between instances of 'int' and 'LambdaContext'",
"errorType": "TypeError",
"stackTrace": [
[
"/var/task/lambda_function.py",
7,
"subset_sum",
"if s >= target:"
]
]
}
原来的函数有更多的值需要很长时间,因为我在 Lambda 上运行。
在使用 py subset_sum.py 的电脑上运行正常。
【问题讨论】:
-
subset_sum是你的处理函数吗? -
请展示您的整个 Lambda 函数。如果那是您的整个 Lambda 函数,那么您应该编写函数以通过处理程序接收调用。请参阅:Lambda Function Handler (Python)。
标签: python amazon-web-services lambda