シーケンスの最大値を見つけるために、次の操作を実行できます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())