Open In App

Creating Sets of Tuples in Python

Last Updated : 14 Feb, 2024
Improve
Improve
Like Article
Like
Save
Share
Report

Tuples are an essential data structure in Python, providing a way to store ordered and immutable sequences of elements. When combined with sets, which are unordered collections of unique elements, you can create powerful and efficient data structures for various applications. In this article, we will explore different methods for creating sets of tuples in Python.

Creating Sets Of Tuples In Python

Below, are the methods of Creating Sets Of Tuples In Python.

Creating Sets Of Tuples In Python Using Set Comprehension

One of the most concise and Pythonic ways to create a set of tuples is by using set comprehension. In this example, we create a set of tuples where each tuple contains an element and its square. Adjust the expression inside the curly braces to customize the tuples according to your requirements.

Python3




# Creating a set of tuples using set comprehension
set_of_tuples = {(x, x**2) for x in range(1, 6)}
  
# Displaying the result
print(set_of_tuples)


Output

{(4, 16), (5, 25), (3, 9), (2, 4), (1, 1)}

Creating Sets Of Tuples In Python Using zip() Function

In this example, we zip together the elements and their squares to create a set of tuples. The zip function is particularly useful when working with multiple lists or iterables

Python3




# Creating a set of tuples using the zip function
elements = [1, 2, 3, 4, 5]
squares = [x**2 for x in elements]
  
set_of_tuples = set(zip(elements, squares))
  
# Displaying the result
print(set_of_tuples)


Output

{(4, 16), (5, 25), (3, 9), (2, 4), (1, 1)}

Creating Sets Of Tuples In Python Using itertools.product Function

The itertools.product function generates the Cartesian product of input iterables, creating tuples with all possible combinations. In this example, we use itertools.product to generate all pairs of elements from the elements list, resulting in a set of tuples.

Python3




import itertools
  
# Creating a set of tuples using itertools.product
elements = [1, 2, 3, 4, 5]
  
set_of_tuples = set(itertools.product(elements, repeat=2))
  
# Displaying the result
print(set_of_tuples)


Output

{(1, 3), (2, 1), (5, 1), (2, 5), (1, 2), (3, 3), (5, 5), (4, 4), (1, 5), (2, 2), (4, 1), (1, 1), (3, 2), (5, 4), (4, 5), (5, 2), (1, 4), (2, 3), (4, 2), (3, 5), (5, 3), (3, 1), (4, 3), (3, 4), (2, 4)}...

Conclusion

Creating sets of tuples in Python can be accomplished through various methods, each offering its own advantages depending on the specific requirements of your program. Whether you prefer concise set comprehensions, the versatility of the zip function, or the power of itertools.product, Python provides the tools you need to efficiently work with sets of tuples.



Like Article
Suggest improvement
Share your thoughts in the comments

Similar Reads