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

找到多个集合的交集的最佳方法?

仲孙兴平
2023-03-14
问题内容

我有一套清单:

setlist = [s1,s2,s3...]

我要s1∩s2∩s3 …

我可以编写一个函数来执行一系列成对的操作s1.intersection(s2),等等。

有没有推荐,更好或内置的方法?


问题答案:

从python版本2.6开始,您可以对使用多个参数set.intersection(),例如

u = set.intersection(s1, s2, s3)

如果这些集合在列表中,则表示为:

u = set.intersection(*setlist)

这里*a_list是列表扩展

请注意,set.intersection不是
一个静态的方法,但这种使用功能符号应用第一套交叉口列表的其余部分。因此,如果参数列表为空,则将失败。



 类似资料:
  • 问题内容: 我们如何确定用于集合的方法的最佳实现(假设equals方法已被正确覆盖)? 问题答案: 最好的实现?这是一个难题,因为它取决于使用模式。 在几乎所有情况下,Josh Bloch的 有效Java项目8(第二版)中都提出了合理的良好实现。最好的办法是在那里查找,因为作者在那里解释了为什么这种方法很好。 简短版 1. 创建一个并分配一个非零值。 对于在方法中测试的每个字段 f,通过以下equ

  • 我有以下功能用于统一多个集合(包括重复元素): 如果集合的交集具有类似签名的函数(使用类型相等),那就太好了。例如: 我找到了一个相交函数的实现,但它不使用流: 是否有任何方法可以利用流实现类似于unify函数的功能?我在java8/StreamAPI方面没有太多经验,因为一些建议会非常有用。

  • 出身背景我有数字1到20(黑色背景上的白色数字),可以出现在屏幕上,我希望识别这些数字。由于它们不能简单地复制粘贴,我将比较屏幕上数字的白色像素位置与所有20个数字的白色像素位置列表。然而,每个数字可以有大量的像素,并且可能不需要比较所有这些像素来识别该数字。因此,我希望尽可能少地进行比较。 算法问题:我有多个集合,其中的元素在每个集合中是唯一的,但在所有集合中可能不是唯一的。如何找到每个集合的最

  • 问题内容: 这里是问题:我有一个元组列表(也可以根据需要设置)。例如: 我想找到一个清单 因为一旦将所有集合放在一起,交集就不会为空。 举个例子 结果应该是 希望问题解决。那么,如果有的话,在python中最优雅的方法是什么? 干杯 问题答案: 这些是图形的 连接组件 ,可以使用诸如的图形库找到。对于第二个示例:

  • 问题内容: 我想过滤java.util.Collection基于谓词的。 问题答案: Java 8(2014)在一行代码中使用流和lambda解决了此问题: 这是一个教程。 使用修改收集到位。(注意:在这种情况下,谓词将删除满足该谓词的对象): 允许过滤集合而无需编写循环或内部类: 你能想象一些更具可读性的东西吗?

  • 我有两个Arraylist,A和B。 ArrayList B由不同的类组成,这些类包含不同的数据集,包括。对此列表中的每个项都是唯一的。示例:。 这两个列表都按进行排序,希望这样做更容易。 我要做的是创建一个新的列表C,它由listB中至少与Lista有一个交集的项组成。因此列表C应该包含上述给定输入的项。