相交列表:捕获重叠元素
在这个编程谜语中,我们寻求一种解决方案来确定两个列表的交集,识别公共元素他们之间的元素。给定两个列表“a”和“b”,任务是找到仅包含两个列表共享元素的列表。
问题陈述:列表上的布尔 AND 运算
考虑以下代码片段:
a = [1,2,3,4,5] b = [1,3,5,6] c = a and b print c
执行此代码时,人们可能会预期输出为'[1,3,5]' 作为列表 'a' 和 'b' 的交集。然而,实际输出是“[1,3,5,6]”,其中包含交集中不存在的元素。
解决方案:利用集合交集
为了在两个列表上完成布尔 AND 运算(列表交集),避免重复并保持顺序,我们可以利用集合交集。集合是唯一元素的无序集合。通过将列表转换为集合,获取它们的交集,然后将结果集转换回列表,我们可以获得所需的结果:
>>> a = [1,2,3,4,5] >>> b = [1,3,5,6] >>> list(set(a) & set(b)) [1, 3, 5]
此解决方案有效地识别并仅返回属于两者的元素列表,提供它们交集的简明表示。
以上是Python 中如何高效查找两个列表的交集?的详细内容。更多信息请关注PHP中文网其他相关文章!