1. ホーム
  2. python

[解決済み] Pythonで2つの辞書の差を求めるには?

2022-12-05 11:43:19

質問

私は2つの辞書を持っており、私は私にキーと値の両方を与えるべきである、2つの違いを見つける必要があります。

私は検索してdatadiffやdictdiff-masterのようないくつかのアドオン/パッケージを見つけましたが、Python 2.7でそれらをインポートしようとすると、そのようなモジュールは定義されていないと言われます。

私はここで一式を使いました。

first_dict = {}
second_dict = {}
 
value = set(second_dict) - set(first_dict)
print value

私の出力は

>>> set(['SCD-3547', 'SCD-3456'])

キーだけを取得しているので、値も取得する必要があります。

どのように解決するのですか?

次のスニペットを、辞書の理解を使って試してみてください。

value = { k : second_dict[k] for k in set(second_dict) - set(first_dict) }

上記のコードで、差分 キーの を求め、次に dict を、対応する値を取って再構築します。