python min/maxで、リスト中の最大/小値の場所も知りたい

備忘録。 なにげに便利な pythonのmin/max。

max(nums, key=abs)

とするだけで、絶対値の最大値を探してくれたり。融通が効く。

リスト中の最大値だけでなく、最大値があった添字(場所)も知りたい場合は

item = max([(v,i) for i,v in enumerate(list)])
item[1]

とか。

ネットで検索すると、辞書に変換してから key を出す人の方が多いみたいだ。

max(dict, key=(lambda x: dict[x]))

とか、

max([(v,k) for k,v in dict.items()])[1]

とか。

でも、 enumerate の方が可読性が良くて好きだな。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です