Python の標準max
関数では、key
パラメーターを渡すことができます。
s = numpy.array(['one','two','three'])
max(s) # 'two' (lexicographically last)
max(s, key=len) # 'three' (longest string)
より大きな (多次元) 配列では、 を使用できなくなりますが、残念ながらパラメーターを提供しないmax
... を使用できます。numpy.amax
key
t = numpy.array([['one','two','three'],
['four','five','six']],
dtype='object')
numpy.amax(t) # 'two` (max of the flat array)
numpy.amax(t, axis=1) # array([two, six], dtype=object) (max of first row, followed by max of second row)
私ができるようにしたいのは:
amax2(t, key=len) # 'three'
amax2(t, key=len, axis=1) # array([three, four], dtype=object)
これを行う組み込みの方法はありますか?
注: 初めてこの質問を書こうとしたときamax
、このおもちゃの例で作業できませんでした!