使用 for 循环查找两个列表之间的交集
遍历列表中的每个元素,看看它是否存在于另一个列表中。如果存在,将其附加到新列表中。
list1 = ['a', 'b', 'c', 'd', 'e'] list2 = ['b', 'd', 'e', 'f', 'g'] list3 = [] for item in list1: if item in list2: list3.append(item) print(list3) # 输出:['b', 'd', 'e']
使用列表推导式查找两个列表之间的交集
将 Python for loop 转换为列表推导式,简化编码。使用的算法与 for 循环相同:遍历每个元素并查看它是否存在于其他列表中。
list1 = ['a', 'b', 'c', 'd', 'e'] list2 = ['b', 'd', 'e', 'f', 'g'] list3 = [item for item in list1 if item in list2] print(list3) # 输出:['b', 'd', 'e']
使用集合查找两个列表之间的交集
Python 集合类似于列表,但它们有许多关键区别,列表是有序的,集合是无序的。列表可以包含重复的项目,但集合不能。
将两个列表都转换为集合,然后使用intersection()方法查找集合的交集,最后集合转换回列表。
list1 = ['a', 'b', 'c', 'd', 'e'] list2 = ['b', 'd', 'e', 'f', 'g'] list3 = list(set(list1).intersection(set(list2))) print(list3) # 输出:['b', 'd', 'e']
使用 “&” 运算符查找两个列表之间的交集
在上面的示例中,我们知道了如何使用集合来查找两个列表之间的交集。还可以使用布尔运算,使用 按位与运算符来查找两个集合之间的交集。
list1 = ['a', 'b', 'c', 'd', 'e'] list2 = ['b', 'd', 'e', 'f', 'g'] list3 = list(set(list1) & set(list2)) print(list3) # 输出:['b', 'd', 'e']
标签: python基础