maxの使い方

組み込み関数maxの使い方で意外な方法があったのに気がついた。

maxはNoneと非Noneを比較し非Noneを取得できる。

num_max = int(max(0,func()))

funcがNoneだった場合は0を返す。

同様にNoneとリストでも使える

num_lust = map(int,max([],func()))

funcがNoneだった場合は[]を返す。

リストの比較の場合には文字列比較のようになっているみたい。

>>> max([1],[2,3],[1,5])
[2, 3]

あまり行儀は良くない気がする。。