Pythonでlist.index(might-not-exist)を処理する最良の方法?
次のようなコードがあります。 thing_index = thing_list.index(thing) otherfunction(thing_list, thing_index) わかりましたので、それは簡略化されていますが、あなたはアイデアを得ます。現在thing、実際にはリストにない場合がありthing_indexます。その場合、-1をとして渡します。他の言語では、これはindex()要素が見つからなかった場合に返されるはずです。実際にはをスローしValueErrorます。 私はこれを行うことができます: try: thing_index = thing_list.index(thing) except ValueError: thing_index = -1 otherfunction(thing_list, thing_index) しかし、これは汚い感じValueErrorがします。さらに、他の理由で発生する可能性があるかどうかはわかりません。ジェネレーター関数に基づいて次の解決策を考え出しましたが、少し複雑に見えます。 thing_index = ( [(i for i in xrange(len(thing_list)) if thing_list[i]==thing)] or [-1] )[0] 同じことを達成するためのより明確な方法はありますか?リストがソートされていないと仮定しましょう。