Programa de Python para encontrar elementos comunes en tres listas usando conjuntos

Requisito previo: Conjuntos en Python

Dados tres arreglos, tenemos que encontrar elementos comunes en tres listas ordenadas usando conjuntos.

Ejemplos:

Input : ar1 = [1, 5, 10, 20, 40, 80]
        ar2 = [6, 7, 20, 80, 100]
        ar3 = [3, 4, 15, 20, 30, 70, 80, 120]

Output : [80, 20]

Input : ar1 = [1, 5, 5]
        ar2 = [3, 4, 5, 5, 10]
        ar3 = [5, 5, 10, 20]

Output : [5]

Enfoque:
hemos dado tres arrays, con la ayuda de conjuntos, uno puede encontrar fácilmente la intersección de estas arrays.

El método de intersección simplemente proporciona la intersección de ambas arrays sobre las que desea realizar la operación de intersección (o simplemente proporciona los elementos comunes en ambas arrays). Tomaremos tres arrays y luego eliminaremos la intersección.

A continuación se muestra la implementación del enfoque anterior:

# Python3 program to find common elements 
# in three lists using sets
  
def IntersecOfSets(arr1, arr2, arr3):
    # Converting the arrays into sets
    s1 = set(arr1)
    s2 = set(arr2)
    s3 = set(arr3)
      
    # Calculates intersection of 
    # sets on s1 and s2
    set1 = s1.intersection(s2)         #[80, 20, 100]
      
    # Calculates intersection of sets
    # on set1 and s3
    result_set = set1.intersection(s3)
      
    # Converts resulting set to list
    final_list = list(result_set)
    print(final_list)
  
# Driver Code
if __name__ == '__main__' :
      
    # Elements in Array1
    arr1 = [1, 5, 10, 20, 40, 80, 100]
      
    # Elements in Array2
    arr2 = [6, 7, 20, 80, 100]
      
    # Elements in Array3
    arr3 = [3, 4, 15, 20, 30, 70, 80, 120]
      
    # Calling Function
    IntersecOfSets(arr1, arr2, arr3)

Producción :

[80, 20]

Publicación traducida automáticamente

Artículo escrito por Siddhant Mittal y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *