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

Python如何找到列表交集?

淳于玺
2023-03-14
问题内容
a = [1,2,3,4,5]
b = [1,3,5,6]
c = a and b
print c

实际输出:[1,3,5,6] 预期输出:[1,3,5]

我们如何在两个列表上实现布尔AND操作(列表交集)?


问题答案:

如果顺序不重要,并且你不必担心重复,则可以使用set相交:

>>> a = [1,2,3,4,5]
>>> b = [1,3,5,6]
>>> list(set(a) & set(b))
[1, 3, 5]


 类似资料:
  • 问题内容: 我知道如何得到两个平面列表的交集: 但是当我必须找到嵌套列表的交集时,我的问题就开始了: 最后,我希望收到: 你们能帮我这个忙吗? 问题答案: 如果你想: 然后这是你的Python 2解决方案: 在Python 3 返回一个迭代,而不是,所以你需要用filter与呼叫list(): 说明: 过滤器部分接受每个子列表的项目,并检查它是否在源列表c1中。对c2中的每个子列表执行列表推导。

  • 我正在寻找一种从OpenStreetMap(OSM)数据中准确检索街道交叉口的方法。我知道有人问过和回答过类似的问题,但我可以从建议的方法中检索到的数据并不十分准确。 首先,我知道以下问题: 如何从OpenStreetMap查找十字路口? 上述问题的答案建议: “查询给定边界框中的所有方式,并查找由两个或多个方式共享的节点,如另一个答案中所述。” 我遵循这个建议,编写了一个python脚本,从我从

  • 问题内容: 我想对数字求和,以便得到列表。 我尝试了以下方法: 问题答案: 如果你要对像这样的数组做大量的数值工作,我建议使用,它带有一个累加和函数: 在这种情况下,Numpy通常比纯python更快,请参阅与@Ashwini的accumu比较: 但是,当然,如果这是你唯一使用numpy的地方,则可能不值得依赖它。

  • 问题内容: 这个问题已经在这里有了答案 : 从列表列表中删除重复项 (12个答案) 4年前关闭。 这是我的两个清单。 我的输出应为以下内容; 如何获得此输出? 先感谢您 问题答案: 您将必须将列表转换为元组列表,然后使用交集。请注意,下面的解决方案可能具有不同顺序的元素,并且由于我使用的是set,因此显然不会存在重复项。 您也可以将交叉点保存在变量中并获取最终列表,如果需要排序,则需要重复: 和交

  • 问题内容: 我有一个词表 我想将每个列表项与一个字符串进行比较,并且输出应该是最相似的词。示例:如果是,则是最相似的词。如何在python中执行此操作?通常,我在清单中所用的单词可以很好地区分。 问题答案: 使用difflib: 正如您从仔细阅读源代码可以看到的那样,“接近”匹配项的排序从最佳到最差。

  • 问题内容: 我正在使用python进行游戏,并且能够得到两个列表的交集: 现在,如果一个列表包含和并包含第三个元素,是否有一个内置函数来查找内部所有三个列表的交集?例如 那么结果应该是 问题答案: 对于2.4,您只需定义一个交集函数。 对于较新版本的python: 相交方法接受任意数量的参数 或者,您可以将第一个集合与其自身相交,以避免切片列表并进行复制: 我不太确定哪种方法会更有效,并且感觉这将