Open In App

Creating dictionary of sets in Python

In this article, we will discuss how to create a dictionary of sets in Python.

Method 1: Naive Approach

We can create a dictionary of sets by passing sets as values to the keys.



Syntax:

{ ‘Key’: Set 1, ‘Key’:Set 2,…………..,’Key’: Set n}



Example: Python program to create a dictionary of sets for student details




# create  dictionary of sets for student details
data = {'Student Roll-no': {1, 2, 3, 4, 5},
        'Student Aadhaar No': {11, 22, 33, 44, 55}}
 
 
# display
print(data)

Output:

{‘Student Roll-no’: {1, 2, 3, 4, 5}, ‘Student Aadhaar No’: {33, 11, 44, 22, 55}}

As per definition, a set will not allow duplicates.

Example 2: Python program to show that it will not allow duplicates




# create  dictionary of sets for student details
data = {'Student Roll-no': {1, 2, 3, 4, 5, 1, 2, 3, 2},
        'Student Aadhaar No': {11, 22, 33, 44, 55, 22,
                              33, 44, 11}}
 
 
# display
print(data)

Output:

{‘Student Roll-no’: {1, 2, 3, 4, 5}, ‘Student Aadhaar No’: {33, 11, 44, 22, 55}}

Method 2: Using defaultdict method

Here, in this approach, we are going to create a default set and then pass the key values to it.

Syntax:

defaultdict(set)

Syntax to pass the dictionary with key and value:

dictinary_name[“key”] |= {‘value1’, ‘value2′, ……………,’value n’}

where,

Example: Python code to create a dictionary of sets of student data




# import defaultdict module
from collections import defaultdict
 
# create an empty set of dictionary
dictionary = defaultdict(set)
 
# enter key value pair 1
dictionary["Student Roll-no"] |= {1, 2, 3, 4, 5}
 
# ennter key value pair 2
dictionary["Student Aadhaar No"] |= {11, 22, 33, 44, 55}
 
# display
dictionary

Output:

defaultdict(set,

            {‘Student Aadhaar No’: {11, 22, 33, 44, 55},

             ‘Student Roll-no’: {1, 2, 3, 4, 5}})

Method 3: Using setdefault() method

The setdefault() method returns the value of a key in the dictionary. If not, it inserts a key with a value to the dictionary.

Syntax:

dict.setdefault(key, default_value)

where,

Example: Python program to insert student names set into the dictionary




# Dictionary with student data
data = {'Student No': {1, 2, 3, 4, 5},
        'Student Aadhaar No': {11, 22, 33, 44, 55}}
 
# using setdefault() method to get aadhaar number
# of the students
print(data.setdefault('Student Aadhaar No'))
 
# using setdefault() method to get aadhaar number
# of the students
print(data.setdefault('Student No'))
 
# set the third set using setdefault method for
# student names
data = data.setdefault(
    'Student Names', {'sravan', 'gopi', 'ramya',
                      'durga', 'sudheer'})
 
# display
data

Output:

{33, 11, 44, 22, 55}

{1, 2, 3, 4, 5}

{‘durga’, ‘gopi’, ‘ramya’, ‘sravan’, ‘sudheer’}


Article Tags :