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函数应用于集合并获取此函数输出的最高值以及导致此输出的输入(原始列表中的元素)。
答案 0 :(得分:5)
您可以使用map
构建一系列(score, split)
对,然后使用maxBy
查找得分最高的一对:
splitCandidates.map(c => (getSplitScore(tSeriesDistances, c), c)).maxBy(_._1)