📌  相关文章
📜  Python|检查两个列表是否至少有一个共同元素

📅  最后修改于: 2022-05-13 01:54:22.137000             🧑  作者: Mango

Python|检查两个列表是否至少有一个共同元素

给定两个列表a,b。检查两个列表中是否至少有一个共同的元素。

例子:

Input : a = [1, 2, 3, 4, 5]
        b = [5, 6, 7, 8, 9]
Output : True

Input : a=[1, 2, 3, 4, 5]
        b=[6, 7, 8, 9]
Output : False

方法一:List的遍历

在两个列表中使用遍历,我们可以检查它们中是否至少存在一个共同元素。在遍历两个列表时,如果我们发现其中一个元素是共同的,那么我们返回 true。完成遍历和检查后,如果没有相同的元素,则返回 false。

# Python program to check 
# if two lists have at-least 
# one element common
# using traversal of list
  
def common_data(list1, list2):
    result = False
  
    # traverse in the 1st list
    for x in list1:
  
        # traverse in the 2nd list
        for y in list2:
    
            # if one common
            if x == y:
                result = True
                return result 
                  
    return result
      
# driver code
a = [1, 2, 3, 4, 5]
b = [5, 6, 7, 8, 9]
print(common_data(a, b))
  
a = [1, 2, 3, 4, 5]
b = [6, 7, 8, 9]
print(common_data(a, b))

输出:

True 
False

方法 2:使用 Set 和 Property

使用set 和 property ,如果至少存在一个公共元素,则 set(a)&set(b) 返回一个正整数,如果不包含任何正整数,则返回 0。所以我们在 set_a 中插入 a,在 set_a 中插入 b set_b 然后检查 set_a 和 set_b 是否为正整数。

# Python program to check 
# if two lists have at-least 
# one element common
# using set and property
  
def common_member(a, b):
    a_set = set(a)
    b_set = set(b)
    if (a_set & b_set):
        return True 
    else:
        return False
          
  
a = [1, 2, 3, 4, 5]
b = [5, 6, 7, 8, 9]
print(common_member(a, b))
  
a =[1, 2, 3, 4, 5]
b =[6, 7, 8, 9]
print(common_member(a, b))

输出:

True 
False

方法3:使用集合交集

使用集合的交集内置函数。 a_set.intersection(b_set) 如果至少有一个共同元素,则返回一个正整数,否则返回 0。所以我们在 set_a 中插入 a,在 set_b 中插入 b,然后检查 a_set.intersection(b_set),并根据价值。

# Python program to check 
# if two lists have at-least 
# one element common
# using set intersection
  
def common_member(a, b):
    a_set = set(a)
    b_set = set(b)
    if len(a_set.intersection(b_set)) > 0:
        return(True) 
    return(False)   
  
a = [1, 2, 3, 4, 5]
b = [5, 6, 7, 8, 9]
print(common_member(a, b))
  
a =[1, 2, 3, 4, 5]
b =[6, 7, 8, 9]
print(common_member(a, b))

输出:

True 
False