カスタム基準に従って最大オブジェクトを見つけるにはどうすればいいですか? 質問する

カスタム基準に従って最大オブジェクトを見つけるにはどうすればいいですか? 質問する

シーケンスの最大値を見つけるために、次の操作を実行できますmax(s)。ただし、次のような独自の関数に従って最大値を計算したいとします。

currmax = 0
def mymax(s):
  for i in s :
    #assume arity() attribute is present
    currmax = i.arity() if i.arity() > currmax else currmax

これを Python できれいに実行する方法はありますか?

ベストアンサー1

max(s, key=operator.methodcaller('arity'))

または

max(s, key=lambda x: x.arity())

おすすめ記事