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

Pythonで最大差のペアを見つける


データ分析はさまざまな課題を投げかける可能性があります。この記事では、要素として数字を含むリストを取り上げます。次に、それらの間の値の差が最大である要素のそのようなペアをリストで見つけます。

最大で

ここでのアプローチは、最初に要素のすべての可能な組み合わせを見つけてから、最初の要素から2番目の要素を差し引くことです。最後に、heapqモジュールから最大の関数を適用して、差が最大になるペアを取得します。

from itertools import combinations
from heapq import nlargest

listA = [21, 14, 30, 11, 17, 18]

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

# using nlargest and combinations()
res = nlargest(2, combinations(listA, 2),
               key=lambda sub: abs(sub[0] - sub[1]))

# print result
print("Pairs with maximum difference are : ",res)

出力

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

Given list : [21, 14, 30, 11, 17, 18]
Pairs with maximum difference are : [(30, 11), (14, 30)]

組み合わせとMax()を使用

ここでも上記と同じアプローチを取りますが、結果として1つのペアを与えるmax関数を適用するため、結果として1つのペアを取得します。

from itertools import combinations

listA = [21, 14, 30, 11, 17, 18]

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

# using combinations() and lambda
res = max(combinations(listA, 2), key = lambda sub: abs(sub[0]-sub[1]))

# print result
print("Pairs with maximum difference are : ",res)

出力

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

Given list : [21, 14, 30, 11, 17, 18]
Pairs with maximum difference are : (30, 11)

  1. リスト内のすべてのペア間の絶対差の合計を見つけるPythonプログラム

    この記事では、特定の問題ステートメントを解決するための解決策とアプローチについて学習します。 問題の説明 リスト入力が与えられた場合、リスト内のすべてのペア間の絶対差の合計を見つける必要があります。 列挙() メソッドは、反復可能オブジェクトにカウンターを追加し、それを列挙オブジェクトタイプの形式で返します。 この方法では、絶対差を含むリスト「diffs」があります。 2つの変数が初期化された2つのループを使用します。 1つはカウンターを反復処理し、もう1つはリスト要素を反復処理します。すべての反復で、要素が類似しているかどうかを確認します。 そうでない場合は、絶対差を見つけて、それ

  2. リスト内の最大要素と最小要素の位置を見つけるPythonプログラム?

    Pythonでは、最大要素、最小要素、およびそれらの位置も非常に簡単に見つけることができます。 Pythonはさまざまな組み込み関数を提供します。 min()は配列の最小値を見つけるために使用され、max()は配列の最大値を見つけるために使用されます。 index()は、要素のインデックスを見つけるために使用されます。 アルゴリズム maxminposition(A, n) /* A is a user input list and n is the size of the list.*/ Step 1: use inbuilt function for finding the positi