2つの辞書の比較(差分)

Comparing two dictionaries Key values and return a new dictionary with the differences – Python – StackOverflow

predict = {'eggs': [1,2],'ham': [1,2,3], 'sausage': [1,2]}
actual = {'eggs': [2], 'ham': [1,2]}
{k: list(set(v).difference(actual.setdefault(k, {}))) for k, v in predict.items()}

{‘eggs’: [1], ‘ham’: [3], ‘sausage’: [1, 2]}

もう少し一般化すれば,

{k: list(set(predict.setdefault(k, {})).difference(actual.setdefault(k, {}))) for k in set(predict.keys()).intersection(actual.keys())}

{‘eggs’: [1], ‘ham’: [3], ‘sausage’: [1, 2]}

広告
カテゴリー: 未分類 パーマリンク

コメントを残す

以下に詳細を記入するか、アイコンをクリックしてログインしてください。

WordPress.com ロゴ

WordPress.com アカウントを使ってコメントしています。 ログアウト / 変更 )

Twitter 画像

Twitter アカウントを使ってコメントしています。 ログアウト / 変更 )

Facebook の写真

Facebook アカウントを使ってコメントしています。 ログアウト / 変更 )

Google+ フォト

Google+ アカウントを使ってコメントしています。 ログアウト / 変更 )

%s と連携中