【问题标题】:Return multiple values using Python code in Zapier在 Zapier 中使用 Python 代码返回多个值
【发布时间】:2020-01-30 05:06:39
【问题描述】:

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

我可以轻松返回 1 个值 -visits_startdatetime。我在循环中添加了vists_name 并在最后返回,但我只返回一个值。

    # 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”

【问题讨论】:

    标签: python zapier


    【解决方案1】:

    与其他所有编程语言一样,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}
    

    【讨论】:

    • 嗨皮埃尔。你解决了!非常感谢您详细而准确的回复。欣赏皮埃尔的时间。
    猜你喜欢
    • 2017-12-16
    • 1970-01-01
    • 2017-04-07
    • 2017-12-06
    • 2018-12-03
    • 1970-01-01
    • 2022-12-09
    • 2021-09-02
    • 2021-08-01
    相关资源
    最近更新 更多