Python 3の関数を使用すると、フィルター関数で定義された任意の基準に一致するfilter
要素をから返すことができます。基準を満たす要素を返す代わりに、要素のインデックスIterable
を返すことを除いて、同様のことを実行できるようにしたいと思います。(オブジェクトのメソッドと同様)index
list
>>> stuff = ("foo", "bar", "baz")
>>> f = filter(lambda x: x == "baz", stuff)
>>> [e for e in f]
['baz'] # Here I want the integer 2 because "baz" is at index 2
もちろん、私はこの些細な例で私がただ言うことができることに気づきます:
stuff = ["foo", "bar", "baz"]
index = stuff.index("baz")
しかし、要点は、任意のフィルター関数と任意のIterables(リストだけでなく!)を使用してインデックスを取得できるようにしたいということです。
関数をハンドロールせずにこれを行う便利な方法はありますか?