Pythonのlist.index()
メソッドは、リスト内の特定の要素のインデックスを返します。しかし、その要素がリストに存在しない場合、ValueError
が発生します。
この問題を解決するための一般的なアプローチは、try/except
ブロックを使用することです。以下にその例を示します。
try:
thing_index = thing_list.index(thing)
except ValueError:
thing_index = -1
otherfunction(thing_list, thing_index)
このコードでは、thing
がthing_list
に存在する場合、そのインデックスがthing_index
に格納されます。存在しない場合、thing_index
には-1
が格納されます。
しかし、このアプローチは2回リストを走査するため、パフォーマンスに影響を及ぼす可能性があります。
別のアプローチとして、リスト内に要素が存在するかどうかを確認し、存在する場合のみindex()
メソッドを呼び出すこともできます。以下にその例を示します。
item_to_find = "foo"
if item_to_find in list:
index = list.index(item_to_find)
print("Index of the item is " + str(index))
else:
print("That word does not exist")
このコードでは、item_to_find
がリスト内に存在する場合のみ、そのインデックスが取得されます。
以上のように、Pythonのlist.index()
メソッドを使用する際には、要素が存在しない場合のエラーハンドリングを適切に行うことが重要です。