遍历预测与真值列表计算True Positive时遇return语法错误求助
问题解答
语法报错原因:你的
return tp缩进错误,被放在了for循环内部(与if语句同级),这不仅会导致循环第一次迭代就直接返回结果,还可能因为函数块缩进对齐问题,让Python误判return不在函数范围内。正确的位置是把return tp移到for循环外面,和初始化tp = 0的代码同级缩进。代码逻辑优化:
if p and g == True存在冗余,因为p和g本身是布尔值,直接用if p and g即可完成判断。
修正后的完整代码:
def calculate_true_positive(predicted, ground_truth): tp = 0 for p, g in zip(predicted, ground_truth): if p and g: tp += 1 return tp
注意:确保所有代码都包裹在def定义的函数块内,函数内的代码保持统一缩进(通常为4个空格),避免因缩进问题再次触发语法错误。
内容的提问来源于stack exchange,提问作者Jeff
相关产品推荐
相关产品推荐

