Pythonのリストで要素のインデックスを取得する方法3つ

スポンサーリンク

今回は、Pythonのリスト内の要素のインデックスを取得するためのさまざまなテクニックに焦点を当てます。

では、さっそく始めましょう。

スポンサーリンク

Pythonのリストとは?

Pythonのリストは、配列の役割を効率的に果たすデータ構造です。

さらに、「リスト」は動的な方法で要素を格納し、配列とは異なり、異なる型の要素を格納するために使用することができます

したがって、リストは配列データ構造のより良い代替品として考えることができ、異種要素を完全に保持することができます

How to get an index of an item in Python List?

PythonのListの動作を理解したところで、Listの項目のインデックスを取得するためのさまざまなメソッドについて説明します。

方法1:リスト内包

Python のリスト内包は、リスト内の特定の要素のすべての出現回数のインデックスリストを利用するために使用することができます

構文は以下の通りです。

[expression for element in iterator if condition]

リスト内包を使うと、リスト中のある項目の出現位置をインデックスとして取得することができます

例えば、以下の様になります。

lst = [10,20,30,10,50,10,45,10]
 
print ("List : " ,lst)
 
res = [x for x in range(len(lst)) if lst[x] == 10]
 
print ("Indices at which element 10 is present: " + str(res))

結果は、以下の通りになります。

List :  [10, 20, 30, 10, 50, 10, 45, 10]
Indices at which element 10 is present: [0, 3, 5, 7]

方法2:index()メソッドを使用する

Pythonの組み込みのindex()メソッドは、Listの特定の要素のインデックス値を取得するために使用することができます

構文は以下の通りです。

index(element,start,end)

startend` パラメータはオプションで、検索を実行する位置の範囲を表します。

他のメソッドとは異なり、index() メソッドはリスト内で特定の項目が最初に出現したときのインデックス値のみを返します。

指定した要素がリストの中に存在しない場合は、例外 ValueError が発生します。

例えば、以下の様になります。

lst = [10,20,30,10,50,10,45,10]
 
print ("List : " ,lst)
 
print("Index at which element 10 is present :",lst.index(10))

結果は、以下の通りになります。

List :  [10, 20, 30, 10, 50, 10, 45, 10]
Index at which element 10 is present : 0

方法3:enumerate()関数を使用する

Pythonのenumerate()メソッドは、リスト内の特定の要素のすべての出現のインデックス位置を返すために使用することができます

例えば、以下の様になります。

lst = [10,20,30,10,50,10,45,10]
 
print ("List : " ,lst)
 
res = [x for x, z in enumerate(lst) if z == 10]
  
print ("Indices at which element 10 is present: " + str(res))

ここでは、enumerate()メソッドは、特定の項目の検索に成功するたびに増加するカウンターを設定し、そのインデックスの値を返します。

結果は以下の通りです。

List :  [10, 20, 30, 10, 50, 10, 45, 10]
Indices at which element 10 is present: [0, 3, 5, 7]

まとめ

ここまでで、このトピックは終了です。

何か疑問があれば、お気軽にコメントください。

タイトルとURLをコピーしました