Return 在 Zapier 中使用 Python 代码的多个值

Return multiple values using Python code in Zapier

我正在使用自定义代码构建 Zapier Zap - Python 作为步骤之一。我需要此代码 return 2 个值以用于下游任务。

我可以轻松 return 1 个值 - visits_startdatetime。我在循环中添加了 vists_name 并在最后添加了 return 但我只得到一个值 returned.

    # 1. Convert the input data from a string to a array. 
visits_signedin = input['visits_signedin']
visits_signedin = list(visits_signedin.split(","))
visits_startdatetime = input_data['visits_startdatetime']
visits_startdatetime = list(visits_startdatetime.split(","))
visits_name = input['visits_name']
visits_name = list(visits_name.split(","))

#2. Loop through the array to find the first true value and return the startdatetime. If none is found, return nothing
for i in range(0, len(visits_signedin)):
    if visits_signedin[i] == "True":
        return {"visits_startdatetime": visits_startdatetime[i]} 
        return {visits_name": visits_name[i]}

return {"visits_startdatetime", "visits_name"}

我希望输出为“12-1-2019”和 "Yoga Class"。实际输出为“12-1-2019”

与所有其他编程语言一样,return 终止函数执行并向其调用者提供 return 值。

return 语句之后的任何代码都不会 运行。

如果您需要 return 多个值,您可以 return 一个包含两个条目的字典:

return {
    "visits_startdatetime": visits_startdatetime[i],
    "visits_name": visits_name[i]
}

# if no result
return {
    "visits_startdatetime": None,
    "visits_name": None
}

或者在您的情况下,更简洁的方法是:

visits_startdatetime = None
visits_name = None
for i in range(0, len(visits_signedin)):
    if visits_signedin[i] == "True":
        visits_startdatetime = visits_startdatetime[i]
        visits_name = visits_name[i]

return {"visits_startdatetime": visits_startdatetime, "visits_name": visits_name}