您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

Python字典匹配两个字典中的键值

Python字典匹配两个字典中的键值

使用集合查找所有等效项:

for (key, value) in set(aa.items()) & set(bb.items()):
    print '%s: %s is present in both aa and bb' % (key, value)

&这里的算子给你@L_301_0@的相交; 或者,您可以编写:

set(aa.items()).intersection(set(bb.items()))

请注意,这确实会创建两个字典的完整副本,因此,如果它们非常大,则这可能不是最佳方法

快捷方式是仅测试按键:

for key in set(aa) & set(bb):
    if aa[key] == bb[key]:
        print '%s: %s is present in both aa and bb' % (key, value)

在这里,您仅复制每个字典的键以减少内存占用。

使用Python 2.7时,dict类型包含其他方法来直接创建所需的集合:

for (key, value) in aa.viewitems() & bb.viewitems():
    print '%s: %s is present in both aa and bb' % (key, value)

这些在技术上是字典视图,但是出于此问题的目的,它们的作用相同。

python 2022/1/1 18:34:39 有223人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶