Pythonのリストには、特定の要素が何番目に格納されているかを示すインデックスがあります。このインデックスを取得するためには、index()
メソッドを使用します。
mylist = ['aaa', 'bbb', 'ccc', 'ddd', 'eee']
print(mylist.index('bbb')) # 実行結果: 1
print(mylist.index('eee')) # 実行結果: 4
しかし、指定した要素が存在しない場合、ValueError
が発生します。
print(mylist.index('fff')) # ValueError: 'fff' is not in list
リストの要素が重複している場合、index()
メソッドは最初に見つかった要素に対応するインデックスだけを返します。
mylist = ['aaa', 'bbb', 'ccc', 'ccc', 'aaa']
print(mylist.index('aaa')) # 実行結果: 0
print(mylist.index('ccc')) # 実行結果: 2
すべてのインデックスをリストで取得したい場合には、組み込み関数enumerate()
とリスト内包表記を使用します。
mylist = ['aaa', 'bbb', 'ccc', 'ccc', 'aaa']
idxlist = [i for i, x in enumerate(mylist) if x == 'ccc']
print(idxlist) # 実行結果: [2, 3]
以上がPythonのindex()
メソッドの基本的な使い方です。このメソッドを使うことで、リスト内の特定の要素が何番目にあるかを簡単に調べることができます。ただし、要素が存在しない場合やリストの要素が重複している場合には注意が必要です。