Skip to content
Related Articles
Open in App
Not now

Related Articles

Python | Initialize dictionary with None values

Improve Article
Save Article
  • Last Updated : 17 Jan, 2023
Improve Article
Save Article

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))


Output

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


Output

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)


My Personal Notes arrow_drop_up
Related Articles

Start Your Coding Journey Now!