应用自定义函数后获取字典最大值的Pythonic方法

时间:2014-02-25 18:43:58

标签: python numpy

我有一个python字典,其中有numpy数组作为值。我需要迭代所有键并为每个值应用自定义函数。该函数返回一个float64数字。然后我需要获取返回最大值的元素的键(在应用函数之后)

这是我的代码到目前为止,但我认为应该采用pythonic方式来实现它:

 max = -999
 match = 0
 for c in Centroids.keys():
   corr = Functions.Correlation_fast(tmp, Centroids[c])
   if corr > max:
      max = corr
      match = c

在这种情况下,匹配将具有最大值的字典键。

必须有更好的方法来实现同样的目标,你怎么看?

1 个答案:

答案 0 :(得分:3)

使用max

max(Centroids, key=lambda x: Functions.Correlation_fast(tmp, Centroids[x]))