Python | Convert a set into dictionary
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)
Contact Us