Python-比较两个字典并检查多少对(key, value)相等

发布于 2021-02-02 23:09:43

我有两个字典,但为简单起见,我将采用以下两个字典:

>>> 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返回了a ,然后比较了相等性。

我的问题:

它是否正确?有更好的方法吗?最好不要提速,我是在讲代码优雅。

更新:我忘了提到我必须检查多少key, value对是相等的。

关注者
0
被浏览
89
1 个回答
  • 面试哥
    面试哥 2021-02-02
    为面试而生,有面试问题,就找面试哥。

    如果你想知道两个字典中都匹配多少个值,你应该说:)

    也许是这样的:

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


知识点
面圈网VIP题库

面圈网VIP题库全新上线,海量真题题库资源。 90大类考试,超10万份考试真题开放下载啦

去下载看看