首页 > 解决方案 > 在 filter() 中使用 has_key() 的最快方法是什么?

问题描述

我知道这是 python 2 中一种非常有效的方法,可以与 2 个字典相交

filter(dict_1.has_key, dict_2.keys())

但是has_key()从 Python3 中删除,所以我不能真正使用快速filter()has_key()功能。我现在正在做的是:

[key for key in dict_2 if key in dict_1]

但它似乎有点笨拙,除了不那么易读之外。这真的是使用 python3 的新最快方法,还是有更快、更清洁的方法filter()

标签: pythonpython-3.xdictionary

解决方案


当您想要键的交集时,您可以执行以下操作:

d1 = {1 : 1, 2 : 2}
d2 = {1 : 3, 2 : 4, 3 : 5}

common = list(d1.keys() & d2.keys())
print(common)

输出

[1, 2]

推荐阅读