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

PythonでKより大きい最小の要素を見つける


Pythonを使用したデータ分析中に、特定の基準を満たすリストから要素を除外する必要がある多くのシナリオに遭遇します。この記事では、リストから要素を取得する方法を説明します。この要素は、要素よりも大きいが、指定された要素よりも大きいすべての要素の中で最小です。

最小で

kより大きい値の一般的な基準を満たしながら、リストの各要素を通過するforループを設計します。次に、そのようなすべての要素に対して、最小値を取得するためにmin関数を適用します。

listA = [1,5,6, 7,11,14]

# Original list
print("Given list : ",listA)

k = 8

# using min
res = min(i for i in listA if i > k)

# Result
print("Missing elements from the list : \n" ,res)

出力

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

Minimum element gerater than k :
11

フィルター付き

ここでは、ラムダ関数を使用して、値がKより大きい要素を取得します。次に、フィルター関数を適用して、それらの値のみを取得します。最後に、min関数を適用して、このリストから最小値を取得します。

listA = [1,5,6, 7,11,14]

# printing original list
print("Given list : ",listA)

k = 8

# using min
res = min(filter(lambda i: i > k, listA))

# Result
print("Minimum element gerater than k : \n" ,res)

出力

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

Minimum element gerater than k :
11

bisect_rightを使用

bisect_right関数は、bisectモジュールで使用できます。提供された特定のパラメーター値以上のポイントでリストを二等分します。この例では、リストを取得して並べ替えてから、bisect_right関数を適用します。必要な値よりも大きい要素のインデックスを取得します。

from bisect import bisect_right
listA = [1,5,6, 7,11,14]

# printing original list
print("Given list : ",listA)

k = 8

listA.sort()
# Using bisect_right
res = listA[bisect_right(listA, k)]

# Result
print("Minimum element gerater than k : \n" ,res)

出力

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

Minimum element gerater than k :
11

  1. リスト内の最小数を見つけるPythonプログラム

    この記事では、以下に示す問題ステートメントの解決策について学習します。 問題の説明 −リストが表示されます。リストで利用可能な最小の番号を表示する必要があります ここでは、リストを並べ替えて最小の要素を取得するか、組み込みのmin()関数を使用して最小の要素を取得できます。 次に、以下の実装の概念を観察しましょう- 例 list1 = [101, 120, 104, 145, 99] # sorting using built-in function list1.sort() print("Smallest element is:", list1[0]) 出力 Smal

  2. Pythonでxより大きい最小の数を見つける方法は?

    組み込み関数ceil()は、指定された数値よりも大きい最小の数値を返します >>> x=6.67 >>> import math >>> math.ceil(x) 7 >>> x=1.13 >>> math.ceil(x) 2 >>> x=5.78 >>> math.ceil(x) 6 >>> x=-5.78 >>> math.ceil(x) -5 -5は-5.78より大きいことに注意してください