リストの最大値のインデックス

なんか忘れそうなのでメモ。
>>> a = [2,3,4,3,1,0]
>>> a.index(max(a))
>>> 2  

となっておkと思ったのだけど、ここまで書いて気づいた。。。
この方法だと[2,3,4,3,4,4,4]等でも2が返ってきてしまうのでmaxとなるindexが複数ある場合を考えないといけないかも。

ということで、出力をリスト形式にして
>>> a = [2,3,4,3,4,4,4]
>>> b = [i for i,j in enumerate(a) if j == max(a)]
>>> b
[2, 4, 5, 6]

これでよし。

タグ:

python
最終更新:2012年01月25日 10:31