Open In App

Python | Convert a set into dictionary

Last Updated : 24 Mar, 2023
Improve
Improve
Like Article
Like
Save
Share
Report

Sometimes we need to convert one data structure into another for various operations and problems in our day to day coding and web development. Like we may want to get a dictionary from the given set elements.
Let’s discuss a few methods to convert given set into a dictionary.

Method #1: Using fromkeys() 

Python3




# Python code to demonstrate
# converting set into dictionary
# using fromkeys()
 
# initializing set
ini_set = {1, 2, 3, 4, 5}
 
# printing initialized set
print ("initial string", ini_set)
print (type(ini_set))
 
# Converting set to dictionary
res = dict.fromkeys(ini_set, 0)
 
# printing final result and its type
print ("final list", res)
print (type(res))


Output: 

initial string {1, 2, 3, 4, 5}
<class 'set'>
final list {1: 0, 2: 0, 3: 0, 4: 0, 5: 0}
<class 'dict'>

 

Method #2: Using dict comprehension 

Python3




# Python code to demonstrate
# converting set into dictionary
# using dict comprehension
 
 
# initializing set
ini_set = {1, 2, 3, 4, 5}
 
# printing initialized set
print ("initial string", ini_set)
print (type(ini_set))
 
str = 'fg'
# Converting set to dict
res = {element:'Geek'+str for element in ini_set}
 
# printing final result and its type
print ("final list", res)
print (type(res))


Output

initial string {1, 2, 3, 4, 5}
<class 'set'>
final list {1: 'Geekfg', 2: 'Geekfg', 3: 'Geekfg', 4: 'Geekfg', 5: 'Geekfg'}
<class 'dict'>

Using the zip() function:

Approach:

Use the zip() function to create a list of keys and a list of default values.
Use a dictionary comprehension to create a dictionary from the two lists.

Python3




def set_to_dict(s):
    keys = list(s)
    values = [None] * len(s)
    return {k: v for k, v in zip(keys, values)}
 
s = {1, 2, 3}
print(set_to_dict(s))


Output

{1: None, 2: None, 3: None}

Time complexity: O(n)
Space complexity: O(n)

 



Like Article
Suggest improvement
Previous
Next
Share your thoughts in the comments

Similar Reads