1. ホーム
  2. python

[解決済み] 2つの辞書を比較し、(キー、値)のペアがいくつ等しいかをチェックする。

2022-03-04 14:37:52

質問

私は2つの辞書を持っていますが、簡略化のためにこの2つを取り上げることにします。

>>> x = dict(a=1, b=2)
>>> y = dict(a=2, b=2)

では、それぞれの key, value のペアは x の対応する値は同じです。 y . そこで、こう書きました。

>>> for x_values, y_values in zip(x.iteritems(), y.iteritems()):
        if x_values == y_values:
            print 'Ok', x_values, y_values
        else:
            print 'Not', x_values, y_values

そして、それは tuple が返され、それが等しいかどうか比較されます。

私の質問です。

これは正しいのでしょうか?また より良い の方法を教えてください。スピードではなく、コードのエレガントさについてです。

UPDATE: 書き忘れましたが、何個の key, value のペアが等しくなります。

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

両方の辞書で一致する値の数を知りたいのであれば、そう言えばいいのに :)

こんな感じかな。

shared_items = {k: x[k] for k in x if k in y and x[k] == y[k]}
print len(shared_items)