lambda 赋值方式
lambda way to assign a value
在我的 python 代码中,我想根据输入将“name”值分配给“request_body”,就像这样:
def make_api_call(context, name, ...):
api_name = f"<my_API_Call_URL_here>"
request_body= {}
request_body["name"] = lambda name: "" if name == "BLANK" else name
...
context.base.execution_call(context, api_name, request_body, "post")
在 lambda 中将字符串值分配给 request_body["name"] 的正确方法是否正确?
不知何故,当我最后进行 api 调用时,我收到了这样的错误消息:
TypeError: Object of type function is not JSON serializable
lambda 是创建小函数的另一种方法,在您的情况下不需要它。你应该使用类似的东西:
request_body["name"] = "" if name == "BLANK" else name
你不能在不调用的情况下使用 lambda 来“赋值”:
>>> a = lambda name: "" if name == "BLANK" else name
>>> type(a)
<class 'function'>
如果你想要那么糟糕的 lambda,试试这个
test_name = lambda x: "" if x == "BLANK" else x
request_body["name"] = test_name(name)
在我的 python 代码中,我想根据输入将“name”值分配给“request_body”,就像这样:
def make_api_call(context, name, ...):
api_name = f"<my_API_Call_URL_here>"
request_body= {}
request_body["name"] = lambda name: "" if name == "BLANK" else name
...
context.base.execution_call(context, api_name, request_body, "post")
在 lambda 中将字符串值分配给 request_body["name"] 的正确方法是否正确?
不知何故,当我最后进行 api 调用时,我收到了这样的错误消息:
TypeError: Object of type function is not JSON serializable
lambda 是创建小函数的另一种方法,在您的情况下不需要它。你应该使用类似的东西:
request_body["name"] = "" if name == "BLANK" else name
你不能在不调用的情况下使用 lambda 来“赋值”:
>>> a = lambda name: "" if name == "BLANK" else name
>>> type(a)
<class 'function'>
如果你想要那么糟糕的 lambda,试试这个
test_name = lambda x: "" if x == "BLANK" else x
request_body["name"] = test_name(name)