Pythonで、リストの中から条件に一致する要素を探して、該当するもの"全て"の要素番号を返すにはどうすればいいのでしょうか?

.index()だと、条件が一致する最初の1個の要素番号しか取得できないので、たとえば['a', 'b', 'c', 'd', 'a']というリストに対して、'a'に一致する要素番号として[0, 4]といった結果を取得したいです。

もちろん、ループで見ていくとかはできると思うのですが、一発で返してくれる関数とかあればそれを使いたい、という状況です。そのものズバリの関数がなくても、なるべく簡単な処理で取得するにはどうすればいいかを知りたいです。
よろしくお願い致します。

回答の条件
  • 1人10回まで
  • 登録:2016/01/24 17:57:57
  • 終了:2016/01/25 08:46:21

ベストアンサー

id:quintia No.1

quintia回答回数558ベストアンサー獲得回数672016/01/24 18:50:52

ポイント100pt
In : a = ['a', 'b', 'c', 'd', 'a']

In : [i for i, v in enumerate(a) if v == 'a']
Out: [0, 4]

こんな感じで。

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません