当前分类:python>>正文

Python 中查找两个列表之间的交集(找出相同的元素)

来源:互联网   更新时间:2023年6月7日  

使用 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']
本文固定链接:https://6yhj.com/leku-p-4240.html  版权所有,转载请保留本地址!
[猜你喜欢]

标签: python基础