Pythonでは、リスト内の特定の要素のインデックスを取得するために、リストオブジェクトに対してlist.index()
メソッドを呼び出すことができます。このメソッドは、リスト内の最初のアイテムのインデックスを返します。
mylist = ["foo", "bar", "baz"]
index = mylist.index("bar")
print(index) # Output: 1
しかし、このメソッドはリストの長さに対して線形の時間複雑度を持つため、リストが長く、値がリストの先頭近くにあることが保証されていない場合、コードの速度が低下する可能性があります。
また、リスト内のすべての特定の要素のインデックスを取得するためには、以下のようにリスト内包表記を使用することができます。
mylist = ["foo", "bar", "baz", "bar"]
indices = [i for i, x in enumerate(mylist) if x == "bar"]
print(indices) # Output: [1, 3]
このコードは、リストmylist
のすべての要素に対してループを行い、各要素が”bar”と等しいかどうかを確認します。もし等しければ、その要素のインデックスを新しいリストindices
に追加します。
以上がPythonのリストで文字列のインデックスを取得する基本的な方法です。これらのテクニックを使って、Pythonのリスト操作をより効率的に行うことができます。