-2
我有2个Python列表,我想用不同的函数(TP,TN,FP,FN)计算4个不同的值。它更好,如果我可以在外部嵌套函数中定义参数,而无需为每个函数定义参数,因为参数对于所有4个函数都是相同的。 我已经实现了一个功能,但它只给出TP功能输出。能不能请别人帮我找到这里的问题相同参数的Python嵌套函数
def evaluation(list1,list2):
def TP():
count1 = 0
for i in range(0,35):
if Jac_test_list[i].strip()==Simmilar_list[i].strip()=='True':
count1+=1
#return count
print ('TP count :' + str(count1))
return TP
def TN():
count2 = 0
for i in range(0,35):
if Jac_test_list[i].strip()==Simmilar_list[i].strip()=='False':
count2+=1
#return count
print ('TN count :' + str(count2))
return TN
def FP():
count3 = 0
for i in range(0,35):
if (Jac_test_list[i].strip()=='True') & (Simmilar_list[i].strip()=='False'):
count3+=1
#return count
print ('FP count :' + str(count3))
return FP
def FN():
count4 = 0
for i in range(0,35):
if (Jac_test_list[i].strip()=='False') & (Simmilar_list[i].strip()=='True'):
count4+=1
#return count
print ('FN count :' + str(count4))
return FN
提示:'return'结束函数。你的第一个“返回TP”将被执行后没有任何东西。 – BrenBarn
当你打电话给评估(list1,list2)时,你期望看到什么?你能给个例子吗? – Allen
为什么你在这里使用嵌套函数?这是否假设是一个功能工厂?但是,你正在通过'Jac_test_list'和'Simmilar_list'创建闭包,这些都是非本地的,据我所知。 –