Python | Convert a set into dictionary
Last Updated :
24 Mar, 2023
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
ini_set = { 1 , 2 , 3 , 4 , 5 }
print ( "initial string" , ini_set)
print ( type (ini_set))
res = dict .fromkeys(ini_set, 0 )
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
ini_set = { 1 , 2 , 3 , 4 , 5 }
print ( "initial string" , ini_set)
print ( type (ini_set))
str = 'fg'
res = {element: 'Geek' + str for element in ini_set}
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)
Please Login to comment...