Python – Intersección de conjuntos múltiples

En este artículo dado Lista de conjuntos, la tarea es escribir un programa de Python para realizar su intersección.

Ejemplos:

Entrada: lista_prueba = [{5, 3, 6, 7}, {1, 3, 5, 2}, {7, 3, 8, 5}, {8, 4, 5, 3}]

Salida: {3, 5}

Explicación: 3 y 5 están presentes en todos los conjuntos.

Entrada: lista_prueba = [{5, 3, 6, 7}, {1, 3, 5, 2}, {7, 3, 8, 5}, {8, 4, 5, 4}]

Salida: {5}

Explicación: 5 está presente en todos los conjuntos.

Método n.º 1: usar el operador de intersection() + *

En esto, realizamos tareas para obtener la intersección usando la intersection() y el operador * se usa para agrupar todos los conjuntos.

Python3

# Python3 code to demonstrate working of
# Multiple Sets Intersection
# Using intersection() + * operator
  
# initializing list
test_list = [{5, 3, 6, 7}, {1, 3, 5, 2}, {7, 3, 8, 5}, {8, 4, 5, 3}]
  
# printing original list
print("The original list is : " + str(test_list))
  
# getting all sets intersection using intersection()
res = set.intersection(*test_list)
  
# printing result
print("Intersected Sets : " + str(res))

Producción:

La lista original es: [{3, 5, 6, 7}, {1, 2, 3, 5}, {8, 3, 5, 7}, {8, 3, 4, 5}]

Conjuntos intersecados: {3, 5}

Método #2: Usar el operador reduce() + and_

En esto, realizamos la tarea de intersección usando el operador and_ y reduce() hace la tarea de empaquetar todos los conjuntos para la operación requerida.

Python3

# Python3 code to demonstrate working of
# Multiple Sets Intersection
# Using reduce() + and_ operator
from operator import and_
from functools import reduce
  
# initializing list
test_list = [{5, 3, 6, 7}, {1, 3, 5, 2}, {7, 3, 8, 5}, {8, 4, 5, 3}]
  
# printing original list
print("The original list is : " + str(test_list))
  
# getting all sets intersection using and_ operator
res = set(reduce(and_, test_list))
  
# printing result
print("Intersected Sets : " + str(res))

Producción:

La lista original es: [{3, 5, 6, 7}, {1, 2, 3, 5}, {8, 3, 5, 7}, {8, 3, 4, 5}]

Conjuntos intersecados: {3, 5}

Publicación traducida automáticamente

Artículo escrito por manjeet_04 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 *