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

Python-共通キーの値を追加する2つの辞書を組み合わせる


Pythonでデータを分析するとき、キーの値が等しい要素の値を追加するような方法で2つの辞書をマージする必要がある状況に遭遇します。この記事では、そのような2つの辞書が追加されるのを見ていきます。

Forループと|オペレーター

このアプローチでは、両方の辞書にキーの値が存在するかどうかを確認してからそれらを追加するforループを設計します。最後に、|を使用して2つの辞書をマージします。辞書に使用できる演算子。

dictA = {'Mon': 23, 'Tue': 11, 'Sun': 6}
dictB = {'Wed': 10, 'Mon': 12, 'Sun': 4}

# Add with common key
for key in dictB:
   if key in dictA:
      dictB[key] = dictB[key] + dictA[key]
   else:
      pass
res = dictA | dictB
print(res)

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

出力

{'Mon': 35, 'Tue': 11, 'Sun': 10, 'Wed': 10}

カウンターの使用

コレクションモジュールのCounter関数を直接適用して、キーを保持する2つの辞書をマージできます。次に、一致するキーに値を追加します。

from collections import Counter
dictA = {'Mon': 23, 'Tue': 11, 'Sun': 6}
dictB = {'Wed': 10, 'Mon': 12, 'Sun': 4}

res = Counter(dictA) + Counter(dictB)
print(res)

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

出力

Counter({'Mon': 35, 'Tue': 11, 'Sun': 10, 'Wed': 10})

  1. 2つの数の最大公約数のためのPythonプログラム

    この記事では、以下に示す問題ステートメントの解決策について学習します。 問題の説明 − 2つの整数が与えられているので、2つの数値の最大公約数を表示する必要があります ここでは、入力として受け取る2つの数値の最小値を計算しています。各値を1から計算された最小値まで除算することによって計算されて除数を計算するループ 条件が真であると評価されるたびに、カウンターは1ずつ増加します。 それでは、以下の実装の概念を見てみましょう- 例 a = 5 b = 45 count = 0 for i in range(1, min(a, b)+1):    if a%i==0 an

  2. Pythonディクショナリ値を更新する方法は?

    Pythonの組み込み辞書クラスにはupdate()メソッドがあります。別の辞書オブジェクトを引数として取ります。 例 D1.update(D2) D2オブジェクトはD1とマージされます。 D2にD1にすでに存在するキーが含まれている場合、その値は更新され、新しいキーの場合は、新しいキーと値のペアが追加されます。 D1は更新されたコンテンツを表示します。 出力 >>> D1={"pen":25, "pencil":10, "book":100, "sharpner":5, "erase