Programa Python para obtener todas las diferencias posibles entre elementos establecidos

Dado un conjunto, la tarea es escribir un programa en Python para obtener todas las diferencias posibles entre sus elementos.

Input : test_set = {1, 5, 2, 7, 3, 4, 10, 14}
Output : {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13}
Explanation : All possible differences are computed.

Input : test_set = {1, 5, 2, 7}
Output : {1, 2, 3, 4, 5, 6}
Explanation : All possible differences are computed.

Método #1: Usar combinaciones() + abs() + loop

En este, todos los pares posibles se extraen usando combinaciones(). Luego se usa loop para atravesar y abs() se usa para obtener la diferencia. 

Python3

# Python3 code to demonstrate working of
# All elements difference in Set
# Using combinations + abs() + loop
from itertools import combinations
 
# initializing strings set
test_set = {1, 5, 2, 7, 3, 4, 10, 14}
 
# printing original string
print("The original set is : " + str(test_set))
 
# getting combinations
combos = combinations(test_set, 2)
 
res = set()
 
# adding differences in set
for x, y in combos:
    res.add(abs(x - y))
 
# printing result
print("All possible differences : " + str(res))

Producción:

El conjunto original es: {1, 2, 3, 4, 5, 7, 10, 14}

Todas las diferencias posibles: {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13}

Método n.º 2: Usar comprensión de conjunto + combinaciones() + abs()

En esto, realizamos la tarea de obtener y establecer todos los elementos utilizando la comprensión de conjuntos como un enfoque de línea única para resolver el problema. 

Python3

# Python3 code to demonstrate working of
# All elements difference in Set
# Using set comprehension + combinations() + abs()
from itertools import combinations
 
# initializing strings set
test_set = {1, 5, 2, 7, 3, 4, 10, 14}
 
# printing original string
print("The original set is : " + str(test_set))
 
# set comprehension providing concise solution
res = {abs(x - y) for x, y in combinations(test_set, 2)}
 
# printing result
print("All possible differences : " + str(res))

Producción:

El conjunto original es: {1, 2, 3, 4, 5, 7, 10, 14}

Todas las diferencias posibles: {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13}

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 *