The constructor set() with Python

The constructor set() 

The set() constructor is a built-in function in Python used to create sets. Below are the main ways to use this constructor, with illustrative examples.

Creating an Empty Set

To create an empty set, simply call set() with no arguments. This initializes an empty set which you can then populate with elements.

Example: 

# Create an empty set
empty_set = set()
print(empty_set)  # Output will be: set()

Creating a Set from a List

You can use the set() constructor to convert a list into a set. This removes any duplicate elements, creating a set with unique items.

Example: 

# List with duplicate elements
my_list = [1, 2, 2, 3, 4, 4, 5]
# Convert the list to a set
my_set = set(my_list)
print(my_set)  # Output will be: {1, 2, 3, 4, 5}

Creating a Set from a Tuple

Similarly, you can use set() to convert a tuple into a set. This operation also removes any duplicates.

Example: 

# Tuple with duplicate elements
my_tuple = (1, 2, 3, 3, 4, 5)
# Convert the tuple to a set
my_set = set(my_tuple)
print(my_set)  # Output will be: {1, 2, 3, 4, 5}

Creating a Set from a String

When you pass a string to the set() constructor, each character in the string becomes an individual element in the set.

Example: 

# String
my_string = "hello"
# Convert the string to a set
my_set = set(my_string)
print(my_set)  # Output might be: {'h', 'e', 'l', 'o'}
# Note: Each character becomes an element in the set

Creating a Set from a Dictionary

When a dictionary is passed to set(), only the dictionary’s keys are used to create the set.

Example: 

# Dictionary
my_dict = {'a': 1, 'b': 2, 'c': 3}
# Convert the dictionary to a set (using the keys)
my_set = set(my_dict)
print(my_set)  # Output will be: {'a', 'b', 'c'}

Creating Sets with Comprehensions

The set() constructor can also be used in conjunction with set comprehensions to create sets based on existing iterables.

Example with Set Comprehension: 

# Creating a set using a set comprehension
my_set = {x * x for x in range(5)}
print(my_set)  # Output will be: {0, 1, 4, 9, 16}

Handling Errors

It is important to note that you cannot pass unhashable objects (such as lists or sets) to the set() constructor. This will raise a TypeError.

Example: 

# Attempting to create a set with an unhashable object
try:
    my_set = set([1, [2, 3], 4])  # List as an element
except TypeError as e:
    print(f"Error: {e}")  # Output will be: Error: unhashable type: 'list'

Conclusion

The set() constructor is a versatile tool for creating sets in Python from various types of collections and data. Whether you want to start with an empty set, convert a list or tuple, or even create a set from a string or dictionary, the set() constructor is flexible and effective. Just ensure that the elements you use are hashable to avoid errors.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Facebook
Twitter
LinkedIn
WhatsApp
Email
Print