TypeError:zip参数#1在将lambda函数与zip一起使用时必须支持迭代



我下面有一些代码,它给了我的错误消息

TypeError:zip参数#1必须支持迭代。

我认为错误是由以下功能引起的:

get_account_jira_account_name(year_month,大修['tenant'](

返回Empty。

我想知道如何返回一个可以支持迭代的Empty值?


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]
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
outage_df['account_name'], outage_df['jira_account_name'] = zip(*outage_df.apply(lambda outage: get_account_jira_account_name(year_month, outage['tenant']), axis=1))

从技术上讲,一个空序列(空列表、空字符串等(是"支持迭代的空值">

然而,您还没有向我们展示足够的代码,让我们知道该解决方案是否真的适用于您的特定情况。

在函数中,当第一个if语句为true时,根本不执行return语句*,因此该函数默认返回一个None值,该值是不可迭代的。

*这似乎很奇怪,因为在第一个if块中,函数为account_namejira_account_name赋值,但实际上并没有对它们执行任何操作。也许你也打算把return account_name, jira_account_name放在那个区块里?(

最新更新