best_acc = 0
for split in split_candidates:
acc = self.get_split_score(t_series_distances, split)
if acc > best_acc:
best_acc = acc
best_split = split
return best_acc, best_split
scala这样做的方式是什么?我需要将get_split_score函数应用于集合,并获取该函数输出的最大值以及导致该输出的输入(原始列表中的元素)。
最佳答案
您可以使用map
构造一对(score, split)
对,然后使用maxBy
查找得分最高的对:
splitCandidates.map(c => (getSplitScore(tSeriesDistances, c), c)).maxBy(_._1)