问题描述:

OK, I have this simple function that finds the element of the list that maximizes the value of another positive function.

def get_max(f, s):

# f is a function and s is an iterable

best = None

best_value = -1

for element in s:

this_value = f(element)

if this_value > best_value:

best = element

best_value = this_value

return best

But I find it very long for the simple work it does. In fact, it reminds me of Java (brrrr).

Can anyone show me a more pythonic and clean way of doing this?

Thanks!

Manuel

网友答案:
def get_max(f, s):
  return max(s, key=f)
相关阅读:
Top