首页 > 解决方案 > 以简单的方式使用 pdb 调试 python 代码

问题描述

def get_sum_metrics(predictions, metrics=[]):
   for i in range(3):
       metrics.append(lambda x: x + i)

   sum_metrics = 0
   for metric in metrics:
       sum_metrics += metric(predictions)

   return sum_metrics

函数 get_sum_metrics 有两个参数:一个预测和一个应用于预测的指标列表(例如,准确度或精度)。请注意,每个指标都是一个函数,而不是一个数字。该函数应计算预测的每个指标并将它们求和。它还应该向这个总和添加三个默认指标,在这种情况下,将 0、1 或 2 添加到预测中。

标签: pythonnumpydebugginglambdaerror-handling

解决方案


我有同样的问题,另一个用户解决了它LINK

def get_sum_metrics(predictions, metrics=None):
  if metrics is None:
     metrics = []  
  for i in range(0,3):
     f = lambda x, i=i: x+i
     metrics.append(f)
  sum_metrics = 0
  for metric in metrics:
     sum_metrics += metric(predictions)
  return sum_metrics

推荐阅读