Python Program to Find Union Intersection Symmetric Difference of Sets
This article is created to cover some programs in Python, that find and prints union, intersection, difference, symmetric difference of two sets entered by user at run time. Here are the list of programs:
- Find Union of Sets
- Find Intersection of Sets
- Find Difference of Sets
- Find Symmetric Difference of Sets
Find Union of Sets
Union of two sets (A and B) can be calculated as, all elements from both the set without repeating any element.
print("Enter 5 Elements for Set A: ") setOne = [] for i in range(5): setOne.append(input()) setOne = set(setOne) print("Enter 5 Elements for Set B: ") setTwo = [] for i in range(5): setTwo.append(input()) setTwo = set(setTwo) print("\nUnion of Two Sets A and B are:") print(setOne | setTwo)
Here is the initial output produced by this Python program:
Now supply any five elements for first set (Set A) say 1, 2, 3, 4, 5 and then five more elements for second set (Set B) say 6, 2, 7, 4, 8. Then program produces the output that shows the union of two given sets like shown in the snapshot given below:
Modified Version of Previous Program
This is the modified version of previous program. This program allows user to define the size of both set along with its elements. The end= skips inserting an automatic newline.
print("Enter Size of Set A: ", end="") try: tota = int(input()) print("Enter", tota, "Elements: ", end="") numsOne = [] for i in range(tota): numsOne.append(input()) setOne = set(numsOne) print("\nEnter Size of Set B: ", end="") try: totb = int(input()) print("Enter", totb, "Elements: ", end="") numsTwo = [] for i in range(totb): numsTwo.append(input()) setTwo = set(numsTwo) unionSet = setOne | setTwo print("\nSet A: ", "{", ', '.join(setOne), "}") print("Set B: ", "{", ', '.join(setTwo), "}") print("\nUnion of A and B =", "{", ', '.join(unionSet), "}") except ValueError: print("\nInvalid Input!") except ValueError: print("\nInvalid Input!")
Here is its sample run with user input 3 as size of first set (set A), then 1, 2, 3 as three elements, and 4 as size of second set (set B), then 1, 2, 3, 4 as its four elements:
Note - The join() in above program is used in a way, to remove ' from all elements of set.
Find Intersection of Sets
Intersection of two sets (A and B) can be calculated as, all common elements from both the set.
To create a Python program that finds intersection of sets given by user at run-time just like the previous program that finds union. Follow the previous program with only two replacements. That is, first replace the following statement (from previous program):
unionSet = setOne | setTwo
with the statement given below:
intersectionSet = setOne & setTwo
And then replace the following (second) statement (from above program):
print("\nUnion of A and B =", "{", ', '.join(unionSet), "}")
with the statement given below:
print("\nIntersection of A and B =", "{", ', '.join(intersectionSet), "}")
Now here is its sample run with same user input as of previous program's sample run:
Find Difference of Sets
Difference of two sets (A and B) can be calculated as, all those elements that are present in set A but not in set B
To find difference of sets in Python, do the similar thing as done previously. That is, change the following two statements from the program given in modified version of union of set program. That is, replace the following statement:
unionSet = setOne | setTwo
with:
diffSet = setOne - setTwo
and then replace the second statement, that is:
print("\nUnion of A and B =", "{", ', '.join(unionSet), "}")
with:
print("\nDifference of A and B =", "{", ', '.join(diffSet), "}")
Here is its sample with user input, 5 as size of first set, then 1, 2, 3, 4, 5 as its five elements and 2 as size of second set, then 1, 6 as its two elements:
Find Symmetric Difference of Sets
Symmetric difference of two sets (A and B) can be calculated as, all unique elements from both the set.
Like done previously, in this case also, change the two statements with following two statements one by one:
symDiffSet = setOne ^ setTwo print("\nSymmetric Difference of A and B =", "{", ', '.join(symDiffSet), "}")
Here is its sample run with user inputs 4 as size of set A, then 5, 6, 7, 8 as its four elements, and 3 as size of set B, then 1, 2, 7 as its three elements:
Find all Four Operations on Two Sets
This program is the combine version of previous four programs, that find and prints all the four operations of two given sets.
print("Enter Size of Set A: ", end="") try: tota = int(input()) print("Enter", tota, "Elements: ", end="") numsOne = [] for i in range(tota): numsOne.append(input()) setOne = set(numsOne) print("\nEnter Size of Set B: ", end="") try: totb = int(input()) print("Enter", totb, "Elements: ", end="") numsTwo = [] for i in range(totb): numsTwo.append(input()) setTwo = set(numsTwo) unionSet = setOne | setTwo intersectionSet = setOne amp; setTwo diffSet = setOne - setTwo symDiffSet = setOne ^ setTwo print("\nSet A: ", "{", ', '.join(setOne), "}") print("Set B: ", "{", ', '.join(setTwo), "}") print("\nUnion of A and B =", "{", ', '.join(unionSet), "}") print("\nIntersection of A and B =", "{", ', '.join(intersectionSet), "}") print("\nDifference of A and B =", "{", ', '.join(diffSet), "}") print("\nSymmetric Difference of A and B =", "{", ', '.join(symDiffSet), "}") except ValueError: print("\nInvalid Input!") except ValueError: print("\nInvalid Input!")
Here is its sample run:
« Previous Program Next Program »
Liked this post? Share it!