Python | Initialize dictionary with None values
Sometimes, while working with dictionaries, we might have an utility in which we need to initialize a dictionary with None values, so that they can be altered later. This kind of application can occur in cases of memoizations in general or competitive programming. Let’s discuss certain ways in which this task can be performed.
Method #1 : Using zip() + repeat() The combination of these functions can be used to perform this particular task. In this, the None value is attached to the keys repeated using the repeat() by help of zip()
Python3
# Python3 code to demonstrate working of # Initialize dictionary with None values # Using zip() + repeat() from itertools import repeat # Using zip() + repeat() # Initialize dictionary with None values res = dict ( zip ( range ( 10 ), repeat( None ))) # printing result print ( "The dictionary with None values : " + str (res)) |
The dictionary with None values : {0: None, 1: None, 2: None, 3: None, 4: None, 5: None, 6: None, 7: None, 8: None, 9: None}
Method #2 : Using fromkeys() This task can also be performed more efficiently using the inbuilt function of fromkeys() which is tailor-made for this task itself and hence recommended.
Python3
# Python3 code to demonstrate working of # Initialize dictionary with None values # Using fromkeys() # Using fromkeys() # Initialize dictionary with None values res = dict .fromkeys( range ( 10 )) # printing result print ( "The dictionary with None values : " + str (res)) |
Using dict() and enumerate
In this method, we use the built-in function enumerate() which returns an iterator that produces tuples containing the index and the value of the elements in an iterable. We use repeat(None, 10) which returns an iterator that repeats the value None 10 times. We then pass these tuples to the dict() constructor to create the dictionary with keys being the indexes and values being None.
Python3
# Python3 code to demonstrate working of # Initialize dictionary with None values # Using dict() and enumerate from itertools import repeat # Using dict() and enumerate # Initialize dictionary with None values res = dict ( enumerate (repeat( None , 10 ))) # printing result print ( "The dictionary with None values : " + str (res)) #This code is contributed by Edula Vinay Kumar Reddy |
The dictionary with None values : {0: None, 1: None, 2: None, 3: None, 4: None, 5: None, 6: None, 7: None, 8: None, 9: None}
Time complexity: O(n)
Auxiliary Space: O(n)
Please Login to comment...