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

¿Fue útil?

Solución

def get_max(f, s):
  return max(s, key=f)
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top