查找列表交集:布尔 AND 运算和集合交集
在 Python 中,一个常见的任务是查找两个列表的交集,其中结果是一个新列表,其中包含两个输入列表共有的元素。这可以使用多种方法来实现。
一种常见的方法是使用逻辑“AND”运算,它将第一个列表的每个元素与第二个列表的每个元素进行比较,并返回一个新列表,其中仅包含匹配的元素。然而,Python 中的“AND”运算符不能直接作用于列表。它需要将输入列表转换为逻辑值,这在这种情况下是有问题的。
另一种方法是使用集合交集运算符 (&)。集合是唯一元素的无序集合,因此此操作返回一个仅包含两个输入列表中都存在的元素的集合对象。要从结果集中获取列表,可以使用 list() 函数将其转换为列表。
例如:
a = [1,2,3,4,5] b = [1,3,5,6] list(set(a) & set(b))
此代码将产生以下输出:
[1, 3, 5]
集合交集提供了一种执行列表交集的便捷方法,特别是当元素的顺序不重要并且重复项被忽略时。它可以有效地比较公共元素的集合,并避免列表上逻辑比较的潜在问题。
以上是如何在Python中高效地找到两个列表的交集?的详细内容。更多信息请关注PHP中文网其他相关文章!