de manera más Pythonic del elemento de búsqueda en la lista que maximiza una función
-
19-09-2019 - |
Pregunta
Está bien, tengo esta función simple que se encuentra el elemento de la lista que maximiza el valor de otra función positiva.
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
Pero me resulta muy largo por el simple trabajo que realiza. De hecho, me recuerda a Java (brrrr). ¿Alguien puede mostrar de una manera más Pythonic y limpia de hacer esto?
Gracias!
Manuel
Solución
def get_max(f, s):
return max(s, key=f)
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow