python在另一个函数中调用函数
我有下面的代码python在另一个函数中调用函数,python,Python,我有下面的代码 def num_dim(response_i, m): for response_j in response_i['objcontent']: if response_i['objkey']== 'explorecube_dimvalues': mm = [response_j['title']] m.append(mm) m=(len(m)) return m if __name__=='__main_
def num_dim(response_i, m):
for response_j in response_i['objcontent']:
if response_i['objkey']== 'explorecube_dimvalues':
mm = [response_j['title']]
m.append(mm)
m=(len(m))
return m
if __name__=='__main__':
for response_i in response['response']:
m=[ ]
x=0
def num_dim_2(response_i, m):
if response_i['objkey']== 'explorecube_dimvalues':
m = num_dim(response_i, m)
print(m)
return m
num_dimentions= num_dim_2 (response_i, m)
print(num_dimentions)
print(m)
的输出为:
3
[ ]
[ ]
3
[ ]
但是打印(num\u dimensions)
的输出是:
3
[ ]
[ ]
3
[ ]
我只希望有3个
任何人都知道如何解决此问题(将值3作为最终输出)。谢谢。这是因为下面的代码
def num_dim_2(response_i, m):
if response_i['objkey']== 'explorecube_dimvalues':
m = num_dim(response_i, m)
print(m)
return m
即使如果
条件失败,仍会执行return m
语句,这将返回一个空白列表
此外,您正在循环内执行print(num\u dimensions)
,这意味着打印值的次数与执行循环的次数相同。如果您只需要一个输出,则必须根据某些条件打印它
注意:使用相同的变量名并重用不同类型的变量名(例如:在
num\u dim
中,m
是一个列表,突然m
是一个整数!)这是因为下面的代码
def num_dim_2(response_i, m):
if response_i['objkey']== 'explorecube_dimvalues':
m = num_dim(response_i, m)
print(m)
return m
即使如果
条件失败,仍会执行return m
语句,这将返回一个空白列表
此外,您正在循环内执行print(num\u dimensions)
,这意味着打印值的次数与执行循环的次数相同。如果您只需要一个输出,则必须根据某些条件打印它
注意:使用相同的变量名并重用不同类型的变量名(例如:在
num\u dim
中,m
是一个列表,突然m
是一个整数!)为什么要在for循环中创建函数?只需像第一次那样创建函数,然后在需要时调用它。此外,我们不知道什么是响应['response'],因此很难理解循环。您知道您正在修改函数输入,对吗?您正在修改函数中的参数m
(这是一个列表,作为引用传递),并且您也在返回它?!这没有道理。整个代码都是乱七八糟的。为什么要在for循环中创建函数?只需像第一次那样创建函数,然后在需要时调用它。此外,我们不知道什么是响应['response'],因此很难理解循环。您知道您正在修改函数输入,对吗?您正在修改函数中的参数m
(这是一个列表,作为引用传递),并且您也在返回它?!这没有道理。整个代码都是胡言乱语。