【问题标题】:more pythonic way of finding element in list that maximizes a function在最大化函数的列表中查找元素的更多pythonic方法
【发布时间】:2026-02-22 09:35:01
【问题描述】:

好的,我有这个简单的函数,它可以找到列表中使另一个正函数的值最大化的元素。

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

但我发现它所做的简单工作很长。事实上,它让我想起了 Java (brrrr)。 谁能告诉我一个更pythonic和更干净的方法吗?

谢谢!
曼努埃尔

【问题讨论】:

  • 除了风格,如果你仔细观察你会发现这个实现中存在多个错误。

标签: list coding-style python maximize


【解决方案1】:
def get_max(f, s):
  return max(s, key=f)

【讨论】: