Python
 Computer >> コンピューター >  >> プログラミング >> Python

Python-Kより大きい最初の要素のインデックスを取得します


Pythonリストの項目の値は、必ずしもソートされた順序である必要はありません。さらに、特定の値よりも大きい特定の値のみに関心がある場合もあります。この記事では、どのように入手できるかを見ていきます

列挙の使用

列挙を使用して、リスト内の要素のインデックスと値の両方を取得します。次に、大なり記号を適用して、条件が満たされる最初の要素のみを取得します。次の関数は、各リスト要素を1つずつ調べます。

List = [21,10,24,40.5,11]
print("Given list: " + str(List))
#Using next() + enumerate()
result = next(k for k, value in enumerate(List)
if value > 25)print("Index is: ",result)

上記のコードを実行すると、次の結果が得られます

出力

Given list: [21, 10, 24, 40.5, 11]
Index is: 3

フィルター関数とラムダ関数の使用

次の例では、ラムダ関数を使用して、指定された値を各インデックスの値と比較し、必要な条件を満たす値を除外します。必要な条件を満たす要素のリストから、インデックス0の最初の要素を選択して回答します。

List = [21,10,24,40.5,11]
print("Given list: " + str(List))
#Using filter() + lambda
result = list(filter(lambda k: k > 25, List))[0]
print("Index is: ",List.index(result))

上記のコードを実行すると、次の結果が得られます

出力

Given list: [21, 10, 24, 40.5, 11]
Index is: 3

マップとラムダの使用

次の例では、同様のアプローチを取りますが、フィルターの代わりにマップを使用します。 map関数は、各要素をループするために使用されます。条件が真になると、そのインデックスがキャプチャされます。

List = [21,10,24,40.5,11]
print("Given list: " + str(List))
result = list(map(lambda k: k > 25, List)).index(True)
print("Index is: ",(result))

上記のコードを実行すると、次の結果が得られます

出力

Given list: [21, 10, 24, 40.5, 11]
Index is: 3

  1. Pythonでリストの最後の要素を取得するにはどうすればよいですか?

    リストオブジェクトを含むPythonシーケンスにより、インデックスを作成できます。リスト内の任意の要素には、ゼロベースのインデックスを使用してアクセスできます。インデックスが負の数の場合、インデックスのカウントは最後から始まります。リストの最後の要素が必要なので、インデックスとして-1を使用します。 >>> L1=[1,2,3,4,5] >>> print (L1[-1]) 5

  2. Pythonでリスト内の要素のインデックスを見つける方法は?

    List(および文字列やタプルなどの他のシーケンスタイプ)で使用できるindex()メソッドは、その中の特定の要素の最初の出現を見つけるのに役立ちます。 >>> L1=['a', 'b', 'c', 'a', 'x'] >>> L1 ['a', 'b', 'c', 'a', 'x'] >>> L1.index('a') 0 要素のすべての出現箇所のインデックスを取得す