Home » Python » Pythonのmax()関数・min()関数の引数keyが便利

Pythonのmax()関数・min()関数の引数keyが便利

動作検証バージョン:Windows 10 + Python 3.7.3

2019年4月頃からPythonで遊び始めて、人気の言語であることを実感しています。

Pythonで最大値・最小値を返す関数は、似た挙動をする他言語の関数よりも便利だと感じたので、記事にしておきます。

[スポンサードリンク]

Pythonのmax()関数min()関数は、最大値・最小値を取得する元の要素だけでなく、引数keyに関数等を指定できるのが、とても便利だと感じています。

max()・min()の引数keyにlenを指定

例えば、複数の文字列から、最大文字数のものを取得したい場合、Pythonならば引数keyにlen()関数を指定すれば済んでしまいます。


a = 'hogehoge'
b = 'foofoofoo'
max(a, b, key=len)

上記のコードを実行すると、変数bに格納されている文字列「'foofoofoo'」が出力されます。

変数a・bに格納されている文字列の長さをlen()関数で調べて、その最大値のデータを返してくれます。

max()・min()の引数keyにintを指定

例えば、数字(文字列)と整数値が混在しているときに、数字も整数値と見なして最大のものを取得したい場合、Pythonならば引数keyにint()関数を指定すれば済んでしまいます。


m = '012'
n = 123
max(m, n, key=int)

上記のコードを実行すると、変数nに格納されている整数値「123」が出力されます。

min関数を使って
  min(m, n, key=int)
を実行した場合は、変数mに格納されている数字「'012'」が出力されます。

同じような処理をするのに、Pythonは他の言語より短いコードで済むというのは、よく言われますが、このmax()関数・mix()関数の仕様を見ると、とても納得できます。

最終更新日時:2019-08-14 00:10

[スポンサードリンク]

Home » Python » Pythonのmax()関数・min()関数の引数keyが便利

TrackBack:0

TrackBack URL

Home » Python » Pythonのmax()関数・min()関数の引数keyが便利

Copyright © インストラクターのネタ帳 All Rights Reserved.

.