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

使用lambda与zip时触发TypeError:zip参数需支持迭代的问题求助

问题分析与解决

错误根源

你遇到的TypeError: zip argument #1 must support iteration,核心原因不是返回空值,而是get_account_jira_account_name函数在第一个分支(if not df.empty:)里只给变量赋值,没有写return语句。这会导致该分支下函数默认返回None,而None无法被迭代,传给zip时直接触发错误。

修复代码

修改函数,确保所有分支都返回可迭代的二元组:

def get_account_jira_account_name(year_month, tenant):
    sql_tenant_account = f'''
    Some query";'''
    df=get_dataframe(sql_tenant_account)

    if not df.empty:
        account_name = df['account_name'].values[0]
        jira_account_name = df['jira_account_name'].values[0]
        # 新增return语句,返回二元组
        return account_name, jira_account_name
    else:
        sql_tenant_account = f'''Some Query";
        ;'''
        df=get_dataframe(sql_tenant_account,'sla','COMMONDB')
        if len(df) !=0:
            account_name = df['account_name'].values[0]
            jira_account_name = ''
            return account_name, jira_account_name
        else:
            print('When I get the error it happens here')
            account_name = 'not found'
            jira_account_name = 'not found'
            return account_name, jira_account_name

补充说明

如果确实需要返回“空的可迭代值”,可以返回('', '')或(None, None)这类二元组,确保返回值始终是能被zip处理的可迭代对象,绝对不能让函数返回None。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.14 17:05:25