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