You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何为解析JSON子任务的Python函数设置默认值?

如何为你的子任务解析函数设置默认返回值

咱们先梳理下你当前函数的现状:你的subtask()函数只会返回第一个符合条件的子任务摘要,要是遍历完所有子任务都没找到非“Workspace created”的项,函数会默认返回None。要给它设置默认值,咱们可以分两种常见场景来处理:

场景1:保持原逻辑,返回第一个匹配项,无匹配时返回默认值

你可以在函数末尾添加一个return语句,指定当没有找到符合条件的子任务时要返回的默认值。比如返回空字符串,或者自定义提示语:

def subtask(default_value=""):
    for issue in data['issues']:
        for subtask in issue['fields']['subtasks']:
            if subtask['fields']['summary'] != 'Workspace created':
                return subtask['fields']['summary']
    # 遍历完所有项都没找到匹配内容,返回预设的默认值
    return default_value

调用的时候,你可以直接用result = subtask()(默认返回空字符串),也可以根据需求自定义默认值,比如result = subtask(default_value="No valid subtask found")。

场景2:返回所有符合条件的子任务,无匹配时返回默认值

如果你的实际需求是获取所有非“Workspace created”的子任务,而不是只取第一个,那可以先收集所有匹配项,再判断是否为空,为空则返回默认值:

def subtask(default_value=None):
    matching_subtasks = []
    for issue in data['issues']:
        for subtask in issue['fields']['subtasks']:
            if subtask['fields']['summary'] != 'Workspace created':
                matching_subtasks.append(subtask['fields']['summary'])
    # 有匹配项就返回列表,没有则返回默认值
    return matching_subtasks if matching_subtasks else default_value

这种情况下,函数会返回所有符合条件的子任务列表;要是没有匹配项,就返回你指定的默认值(比如None或空列表)。

后续使用示例

之后你在if语句里检查输出时,就可以基于这个默认值来判断:

result = subtask()
if result != "":  # 这里对应你设置的默认值
    print(f"找到有效子任务:{result}")
else:
    print("未找到有效子任务")

内容的提问来源于stack exchange,提问作者Milister

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.25 07:19:41