Ich habe 2 Python-Liste und ich möchte 4 verschiedene Werte mit verschiedenen Funktionen (TP, TN, FP, FN) berechnen. Es ist besser, wenn ich Parameter in der äußeren verschachtelten Funktion definieren kann, ohne Parameter für jede einzelne Funktion zu definieren, da die Parameter für alle 4 Funktionen gleich sind. Ich habe eine Funktion implementiert, aber es gibt nur die TP-Funktion Ausgabe. könnten Sie mir bitte jemand helfen unten könnte das Problem hierPython verschachtelte Funktionen für die gleichen Parameter
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
Hinweis: 'return' beendet die Funktion. Nichts nach dem ersten 'return TP 'wird ausgeführt. – BrenBarn
Was erwarten Sie beim Aufruf der Auswertung (list1, list2)? Kannst du ein Beispiel geben? – Allen
Warum verwenden Sie hier verschachtelte Funktionen? Soll das eine Funktionsfabrik sein? Aber dann erstellen Sie Closures über 'Jac_test_list' und' Simmilar_list', die soweit ich weiß, nicht lokal sind. –