当前位置: 首页 > 面试题库 >

在Python中相交两个字典

谷玉韵
2023-03-14
问题内容

我正在研究一个反向索引的搜索程序。索引本身是一个字典,其键是术语,其值本身是短文档的字典,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
...

问题答案:

在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


 类似资料:
  • 问题内容: 给定两个字典,我想看看它们的交集和差异,并对与唯一元素相交并执行g的元素执行f函数,这就是我找出d1和d2是两个字典的唯一和相交元素的方法,如何将d_intersection和d_difference作为字典打印在元组中?输出应该看起来像这样({相交的键,值},{差异的键,值}),例如: 输出应为 有人可以告诉我我哪里出了问题,为什么我的代码给出了关键错误4? 问题答案: 尽管可能存在

  • 我有两个矩形,每个矩形有4个值: 左侧位置< code>X、顶部位置< code>Y、宽度< code>W和高度< code>H: 矩形不旋转,如下所示: 判断两个矩形的交集是否为空的最佳解是什么?

  • 问题内容: 问题很简单: 我有两个清单 我需要得到这些的交集。有没有一种快速的方法来实现这一目标? 问题答案: 您可以使用方法:

  • 问题内容: 我正在尝试了解go的内部原理。考虑以下代码 上面的代码完美地交换了2个数字,a变成5,b变成10。我无法理解它是如何工作的。在第二行代码中考虑,如果将a首先分配给b,则b将为10。现在,如果将b分配给a,那么a也不应也为10。 请帮助我了解它是如何工作的 谢谢 问题答案: TL; DR :反汇编表明CPU必须足够聪明才能看到正在发生的事情,并使用寄存器来避免覆盖内存中的现有值。 这个问

  • 本文向大家介绍在Python中使用Numpy将两个矩阵相乘,包括了在Python中使用Numpy将两个矩阵相乘的使用技巧和注意事项,需要的朋友参考一下 在本教程中,我们将学习如何使用Python中的NumPy库将两个矩阵相乘。使用NumPy库很简单。 它有一个称为点的矩阵乘法方法。您可以使用以下命令安装NumPy库。 让我们看看程序中涉及的步骤。 导入NumPy库。 初始化矩阵。 将矩阵与nump

  • 问题内容: 我收到了2个轮廓(和)。我怎么知道它们是否相交?我不需要坐标,我只需要一个布尔值或。 我尝试了不同的方式,并且已经尝试与 …但是得到的错误是数组没有方法“ Area()” 问题答案: 一旦有了的两个轮廓,就可以使用按位运算来检测相交。具体来说,我们可以使用。想法是为每个轮廓创建两个单独的图像,然后对它们使用逻辑运算。具有正值(或)的任何点都将是交点。因此,由于您只想获取是否存在相交的布