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

Pythonの辞書の共通部分で3つのソートされた配列の共通要素を検索します


Pythonを使用してデータを操作しているときに、複数の配列に共通する要素を見つける必要がある状況に遭遇する可能性があります。これは、以下に示すように、配列を辞書に変換することで実現できます。

以下の例では、配列を取得し、コレクションモジュールからCounterコンテナを適用します。コンテナ内に存在する各要素の数を保持します。次に、dict()を適用し、&演算子を使用して配列間の共通要素のみを識別することにより、それらを辞書に変換します。最後に、新しく作成されたディクショナリの項目をループし、ディクショナリから値を追加して、共通の値の最終結果を取得します。

from collections import Counter

arrayA = ['Sun', 12, 14, 11, 34]
arrayB = [6, 12, 'Sun', 11]
arrayC = [19, 6, 20, 'Sun', 12, 67, 11]

arrayA = Counter(arrayA)
arrayB = Counter(arrayB)
arrayC = Counter(arrayC)

# Intersection
commonDict = dict(arrayA.items() & arrayB.items() & arrayC.items())
res = []

# result
for (key, val) in commonDict.items():
   for i in range(0, val):
      res.append(key)

print("The common values among the arrays are:\n ",res)

出力

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

The common values among the arrays are:
['Sun', 11, 12]

  1. セットを使用して3つのリストから共通の要素を見つけるPythonプログラム

    3つのユーザー入力リストが与えられた場合、私たちのタスクは、これら3つのリストから共通の要素を見つけることです。ここでは交差法を適用しています。 例 Input A=[2, 3, 4, 5, 6] B=[2, 3, 7, 6, 90] C=[2, 3, 45, 34] Common elements=[2, 3] アルゴリズム Step1: input the elements of three lists. Step2: Use intersection method, first convert lists to sets then apply intersection method

  2. 3つのソートされた配列で共通の要素を見つけるPythonプログラム?

    ここでは、最初にユーザー入力のソートされていない配列である3つの配列を作成し、次に3つのソートされていない配列すべてをソートします。配列のサイズはn1、n2、n3です。すべての配列の開始アドレスは0.i =0、j =0、k =0です。次に、3つの配列のすべての要素をトラバースし、3つの配列の要素が同じかどうかを確認します。そうでない場合は、要素を印刷し、そうでない場合は次の要素に進みます。 例 A = {1, 2, 3, 4, 5} B = {2, 5, 12, 22, 7} C = {1, 9, 2, 89, 80} 出力 2 アルゴリズム commonele(A1,A2,A3,n