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)

09-18 16:15