min,max関数の使い方を解説します【簡単です】

python

pythonのmin関数、max関数について調べる人

pythonのmin関数、max関数について調べる人
「pythonでmin関数、max関数を使いたいのですが、どのように記述すればいいでしょう。あと、コピペできるソースコード例も欲しいです。」

こんな疑問を解決します。

本記事のテーマ

この記事を書いている私はIT業界歴12年、年収1,000万円ちょっとの金融系エンジニアです。学生時代から様々なプログラミング言語を扱ってきましたが、その中でもpythonはとても扱いやすく生産性も高く、オススメの言語です。

本記事では、細かい構文に迷ったら、例からコピー&ペーストして使えることも目指しました。少しでもお役に立てますと幸いです。

1.構文

構文

min関数、max関数の構文は以下の通り、とてもシンプルです。

min(《比較対象1》,《比較対象2》, …)
max(《比較対象1》,《比較対象2》, …)

比較対象として取り得る引数は数字や文字列、リストなどです。具体的な例について後述します。

2.pythonでのmin関数の使い方

pythonでのmin関数の使い方

簡単な例

複数の数字の中から最も小さい値を抽出します。対象となる数は幾つ指定しても、マイナスの数を指定してもOKです。

>>> min(1,2,3)
1
>>> min(1,2,3,4,5,-6)
-6

文字列のmin

文字列にもmin関数を適用することが可能です。辞書順に並べた時に最も若い文字列を返します。

>>> min('a','b')
'a'
>>> min('apple','box','cookie')
'apple'

リストのmin

リストにmin関数を適用する例です。リストのn番目の要素を比較します。順序は1番目の要素の比較結果から順に並べ、最も若いリストを返します。

>>> min([1],[2])
[1]
>>> min([1,2],[1,2,3])
[1,2]
>>> min([-1,9,0,1,-5])
-5
>>> min([1,2],[1,2,0])
[1,2]
>>> min([1,2,3,4],[0,9,9])
[0,9,9]

タプルのmin

リストと同様、タプルにもmin関数を適用可能です。

>>> min((1,2,3,4),(6,4,7),(9,1))
(1,2,3,4)

リストのmin

リスト・タプルと同様、セットにもmin関数を適用可能です。

>>> min({-1,9,0,1,-5})
-5

辞書型のmin

辞書型はkey->value型の変数です。辞書型にもmin関数を適用可能で、keyに対して最小の要素を抽出します。

>>> min({1:'dog', 2:'cat', 3:'bird', 4:'zoo'})
1
>>> min({99:0, 98:1})
98

3.pythonでのmax関数の使い方

pythonでのmax関数の使い方

簡単な例

複数の数字の中から最も大きい値を抽出します。対象となる数は幾つ指定しても、マイナスの数を指定してもOKです。

>>> max(1,2,3)
3
>>> max(1,2,3,4,5,-6)
5

文字列のmax

文字列にもmax関数を適用することが可能です。辞書順に並べた時の最後の文字列を返します。

>>> max('a','b')
'b'
>>> max('apple','box','cookie')
'cookie'

リストのmax

リストにmax関数を適用する例です。リストのn番目の要素を比較します。順序は1番目の要素の比較結果から順に並べたときの最後のリストを返します。

>>> max([1],[2])
[2]
>>> max([1,2],[1,2,3])
[1,2,3]
>>> max([1,2],[1,2,0])
[1,2,0]
>>> max([8,2,1,9,-1])
9
>>> max([1,2,3,4],[0,9,9])
[1,2,3,4]

タプルのmax

リストと同様、タプルにもmax関数を適用可能です。

>>> max((1,2,3,4),(6,4,7),(9,1))
(9,1)

リストのmax

リスト・タプルと同様、セットにもmax関数を適用可能です。

>>> max({-1,9,0,1,-5})
9

辞書型のmax

辞書型はkey->value型の変数です。辞書型にもmax関数を適用可能で、keyに対して最大の要素を抽出します。

>>> max({1:'dog', 2:'cat', 3:'bird', 4:'zoo'})
4
>>> max({99:0, 98:1})
99

4.min関数、max関数の順序の定義

min関数、max関数の順序の定義

構文

ここまで様々な最小・最大の例を見てきましたが、これ以外に順序を自ら定義することも可能です。構文は以下の通りです。

min(《比較対象1》,《比較対象2》, …,key=《順序を示す関数》)
max(《比較対象1》,《比較対象2》, …,key=《順序を示す関数》)

比較対象として取り得る引数は数字や文字列、リストなどです。具体的な例について後述します。

簡単な例

複数の数字の中から最も小さい値を抽出します。対象となる数は幾つ指定しても、マイナスの数を指定してもOKです。

>>> min(-3,2,1,key=abs)
1
>>> max(-3,2,1,key=abs)
-3
>>> min('apple','box','cookie',key=(lambda x:len(x))) #key=lenでもOK
'box'
>>> max('apple','box','cookie',key=(lambda x:len(x))) #key=lenでもOK
'cookie'

 

今回は以上です。pythonでのmin関数およびmax関数の使い方を解説しました。

最大の特徴は順序の定義が引数で、しかもラムダ式で簡単にできることですね。pythonを使う際の参考になりましたら幸いです。

今、ITエンジニアは前例のない売り手市場です

ITエンジニアは前例のない売り手市場、転職なら今

現在のエンジニアの求人数と求人倍率をご存知ですか?

直近(※)のIT業界全体の求人倍率は7.85倍です。

つまり 企業が8回 IT人材の求人を出しても、 1人しかエントリーがない 状況です。

エンジニア側が企業を選ぶ なら、今がチャンスです。

※転職サイトdodaが毎月発表している転職求人倍率。
 2019年12月9日発表/集計対象期間は2019年11月1日〜30日

詳しくはこちら


人気記事【今年の抱負】退職しオープン&フリー&シンプルに生きていく【失敗しない働き方改革の本質】