Creating Dictionary of Sets in Python
Last Updated :
08 Feb, 2025
The task of creating a dictionary of sets in Python involves storing multiple unique values under specific keys, ensuring efficient membership checks and eliminating duplicates. For example, given student data where “Roll-no” maps to {1, 2, 3, 4, 5} and “Aadhaar No” maps to {11, 22, 33, 44, 55}, the goal is to create dictionary of set will be {‘Roll-no’: {1, 2, 3, 4, 5}, ‘Aadhaar No’: {33, 11, 44, 22, 55}}.
Using if condition
This method explicitly checks if a key exists in the dictionary before adding values. It provides better control but requires more lines of code and is less efficient compared to defaultdict and setdefault(). It is useful when additional conditions or logic need to be applied before insertion.
Python
d = {} # initialize empty dictionary
if "Roll-no" not in d:
d["Roll-no"] = set()
d["Roll-no"].update([1, 2, 3, 4, 5])
if "Aadhaar No" not in d:
d["Aadhaar No"] = set()
d["Aadhaar No"].update([11, 22, 33, 44, 55])
print(d)
Output{'Roll-no': {1, 2, 3, 4, 5}, 'Aadhaar No': {33, 11, 44, 22, 55}}
Explanation: if “Roll-no” is not in d, it is set as an empty set, then .update([1, 2, 3, 4, 5]) adds elements. The same logic applies to “Aadhaar No”, ensuring values are stored uniquely.
Using dictionary comprehension
Dictionary comprehension allows creating a dictionary with predefined keys, each mapped to an empty set. This method is useful when we know the keys beforehand but is not ideal for dynamically adding new keys later.
Python
d = {key: set() for key in ["Student Roll-no", "Student Aadhaar No"]}
d["Student Roll-no"].update([1, 2, 3, 4, 5])
d["Student Aadhaar No"].update([11, 22, 33, 44, 55])
print(d)
Output{'Student Roll-no': {1, 2, 3, 4, 5}, 'Student Aadhaar No': {33, 11, 44, 22, 55}}
Explanation: dictionary comprehension initialize keys (“Student Roll-no” and “Student Aadhaar No”) with empty sets in a single line. Then, .update([1, 2, 3, 4, 5]) and .update([11, 22, 33, 44, 55]) efficiently add values.
Using defaultdict(set)
defaultdict from the collections module is the most efficient way to create a dictionary of sets. It automatically initializes an empty set when a new key is accessed, eliminating the need for manual key existence checks. This method is highly efficient for dynamically adding values without extra code complexity.
Python
from collections import defaultdict
d = defaultdict(set)
d["Roll-no"] |= {1, 2, 3, 4, 5}
d["Aadhaar No"] |= {11, 22, 33, 44, 55}
print(d)
Outputdefaultdict(<class 'set'>, {'Roll-no': {1, 2, 3, 4, 5}, 'Aadhaar No': {33, 22, 55, 11, 44}})
Explanation: |= operator updates sets by adding all elements from {1, 2, 3, 4, 5} to “Roll-no”, initializing it if absent. Similarly, d[“Aadhaar No”] |= {11, 22, 33, 44, 55} adds values while ensuring uniqueness, as sets automatically ignore duplicates.
Using dict.setdefault()
setdefault() initializes a key with a set only if it does not exist. It allows updating the dictionary dynamically while maintaining clean and concise code. This method is slightly less efficient than defaultdict because it requires a function call for each key update.
Python
d = {}
d.setdefault("Roll-no", set()).update([1, 2, 3, 4, 5])
d.setdefault("Aadhaar No", set()).update([11, 22, 33, 44, 55])
print(d)
Output{'Roll-no': {1, 2, 3, 4, 5}, 'Aadhaar No': {33, 11, 44, 22, 55}}
Explanation: setdefault() ensures that “Roll-no” is initialized as an empty set if it doesn’t exist, then .update([1, 2, 3, 4, 5]) adds elements. Similarly, d.setdefault(“Aadhaar No”, set()).update([11, 22, 33, 44, 55]) initializes and updates “Aadhaar No”.
Similar Reads
Python - Create Dictionary Of Tuples
The task of creating a dictionary of tuples in Python involves mapping each key to a tuple of values, enabling structured data storage and quick lookups. For example, given a list of names like ["Bobby", "Ojaswi"] and their corresponding favorite foods as tuples [("chapathi", "roti"), ("Paraota", "I
3 min read
Creating a List of Sets in Python
Creating a list of sets in Python involves storing multiple sets within list structure. Each set can contain unique elements and the list can hold as many sets as needed. In this article, we will see how to create a list of set using different methods in Python. Using List ComprehensionList comprehe
2 min read
Convert a Set into dictionary - Python
The task is to convert a set into a dictionary in Python. Set is an unordered collection of unique elements, while a dictionary stores key-value pairs. When converting a set into a dictionary, each element in the set can be mapped to a key and a default value can be assigned to each key. For example
3 min read
Python Create Dictionary with Integer
The task of creating a dictionary from a list of keys in Python, where each key is assigned a unique integer value, involves transforming the list into a dictionary. Each element in the list becomes a key and the corresponding value is typically its index or a different integer. For example, if we h
3 min read
Creating Sets of Tuples in Python
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 wil
3 min read
Create Dynamic Dictionary in Python
Creating a Dynamic Dictionary in Python is important in programming skills. By understanding how to generate dictionaries dynamically, programmers can efficiently adapt to changing data requirements, facilitating flexible and responsive code development. In this article, we will explore different me
3 min read
Create Dictionary from the List-Python
The task of creating a dictionary from a list in Python involves mapping each element to a uniquely generated key, enabling structured data storage and quick lookups. For example, given a = ["gfg", "is", "best"] and prefix k = "def_key_", the goal is to generate {'def_key_gfg': 'gfg', 'def_key_is':
3 min read
Python - Add Values to Dictionary of List
A dictionary of lists allows storing grouped values under specific keys. For example, in a = {'x': [10, 20]}, the key 'x' maps to the list [10, 20]. To add values like 30 to this list, we use efficient methods to update the dictionary dynamically. Letâs look at some commonly used methods to efficien
3 min read
Convert List of Lists to Dictionary - Python
We are given list of lists we need to convert it to python . For example we are given a list of lists a = [["a", 1], ["b", 2], ["c", 3]] we need to convert the list in dictionary so that the output becomes {'a': 1, 'b': 2, 'c': 3}. Using Dictionary ComprehensionUsing dictionary comprehension, we ite
3 min read
Set from Dictionary Values - Python
The task is to extract unique values from a dictionary and convert them into a set. In Python, sets are unordered collections that automatically eliminate duplicates. The goal is to extract all the values from the dictionary and store them in a set. For example, given a dictionary like d = {'A': 4,
3 min read