Skip to content
Related Articles

Related Articles

Python Program to get all possible differences between set elements

View Discussion
Improve Article
Save Article
Like Article
  • Last Updated : 04 May, 2022

Given a set, the task is to write a Python program to get all possible differences between its elements.

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.

Method #1 : Using combinations() + abs() + loop

In this, all the possible pairs are extracted using combinations(). Then loop is used to traverse and abs() is used to get difference. 

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))

Output:

The original set is : {1, 2, 3, 4, 5, 7, 10, 14}

All possible differences : {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13}

Method #2 : Using set comprehension + combinations() + abs()

In this, we perform task of getting and setting all elements using set comprehension as one liner approach to solve the problem. 

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))

Output:

The original set is : {1, 2, 3, 4, 5, 7, 10, 14}

All possible differences : {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13}


My Personal Notes arrow_drop_up
Recommended Articles
Page :

Start Your Coding Journey Now!