Introduction

リストは、他のデータ型に比べて汎用性が高いため、さまざまな方法で役立ちます。

ここでは、要素を見つけるためのさまざまなシナリオを見ていきます。

Using the index() Function

elementstartendelementを探すインデックスの範囲を表します。

start0endのデフォルト値はリストの要素数(リストの最後まで探す)です。

この関数は、最初に出現した後に等しい要素がいくつあるかに関わらず、リスト内で見つけられたelementの最初の位置を返します。

ある要素の最初の出現を見つける

index()startendelementelementが最初に出現することになります。

my_list = first_occurrence = my_list.index('b')print("First occurrence of 'b' in the list: ", first_occurrence)

そうすると、期待通りの出力が得られます。

First occurrence of 'b' in the list: 1

ある要素のすべての出現箇所を検索する

ある要素のすべての出現箇所を検索するには、オプションのパラメーター start を使用して、リストの特定のセグメントのみを検索することができます。

例えば、インデックス 33 の後にその要素の最初の出現があるかどうか、検索を続ける必要があります。 要素の新しい出現を見つける限り、検索を開始する場所を変えながら、このプロセスを繰り返します。

このコードを実行すると、次のようになります。

The element was found at: 

ここでは tryindex()element を見つけられない場合にエラーを投げるからです。

しかし、Pythonでは、この関数を使用する際には、tryブロックを使用するように注意しなければなりません。

これと同じことをする別のもっとすっきりした方法は、リスト内包を使用して、index()try ブロックを使用しないという利点もあります。

最後に出現した要素の検索

リスト内で最後に出現した要素を検索する必要がある場合、index() 関数で使用できる 2 つのアプローチがあります。

  • リストを反転し、反転したリストの中で最初に出現するものを探す
  • 要素のすべての出現箇所を調べ、最後に出現したものだけを記録する

最初のアプローチに関しては、反転したリストの中で elementreversed_list_index - 1 を引くことで、これを行うことができます。

6

2つ目の方法として、すべての出現箇所を見つけるために使用したコードを微調整し、最後に見つけた出現箇所のみを追跡することができます。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です