小编典典

在Python中相交两个字典

python

我正在研究一个反向索引的搜索程序。索引本身是一个字典,其键是术语,其值本身是短文档的字典,ID号是键,其文本内容是值。

为了对两个词执行“与”搜索,因此我需要与他们的发布列表(字典)相交。在Python中有什么明确的方法(不一定太聪明)?我首先尝试了以下方法iter

p1 = index[term1]  
p2 = index[term2]
i1 = iter(p1)
i2 = iter(p2)
while ...  # not sure of the 'iter != end 'syntax in this case
...

阅读 222

收藏
2020-12-20

共1个答案

小编典典

在Python中,您可以使用&运算符来计算集合的交集,而字典键是类似于集合的对象(在Python 3中):

dict_a = {"a": 1, "b": 2}
dict_b = {"a": 2, "c": 3}

intersection = dict_a.keys() & dict_b.keys()  # {'a'}

在Python 2上,您必须将字典键转换为自己设置:

keys_a = set(dict_a.keys())
keys_b = set(dict_b.keys())
intersection = keys_a & keys_b
2020-12-20