Home >Backend Development >Python Tutorial >Application of default value dictionary in Python and how to use defaultdict
In Python, defaultdict is a special type of dictionary that can automatically set default values for keys that do not exist in the dictionary. Dictionaries of this type are defined in the collections module. It provides us with a more convenient and easier to use dictionary.
We need to import the collections module containing defaultdict first. This can be achieved by adding the following line of code at the top of your Python code:
from collections import defaultdict
Creating a defaultdict is syntactically the same as creating a Python dictionary. We only need to use the type of defaultdict as a parameter of the constructor. For example, if we want to create a defaultdict that stores integers, we can use the following code:
int_dict = defaultdict(int)
If we want to store strings in the defaultdict, we can use the following code:
str_dict = defaultdict(str)
In these two In both cases, we define a new defaultdict instance by passing the type to the defaultdict constructor. This type will be set to the corresponding default value for all keys of defaultdict.
When trying to access a key of defaultdict, if the key does not exist, the default value corresponding to the type passed to the constructor is automatically set. For example, in the code below, we use defaultdict to store a person's age and set the default value to 0:
age_dict = defaultdict(int) age_dict['alice'] = 25 age_dict['bob'] = 30 age_dict['charlie'] print(age_dict)
The output will be {‘alice’: 25, ‘bob’: 30, ‘charlie’: 0}, when ‘charlie’ is not in the default dictionary, it is automatically filled with the default value 0.
In this example, we added two keys to the default dictionary, ‘alice’ and ‘bob’ , and directly queried another key ‘charlie’ , which is not in the dictionary. Since ‘charlie’ does not exist in the dictionary, defaultdict automatically sets the value corresponding to that key to the default value of the corresponding type passed in the constructor (in this case, the integer 0). We can see that this is indeed the expected result.
We can also define a default value by providing a function as the default value to the defaultdict function. This function will be called if a key is missing from the dictionary and returns the desired default value. For example, we can define a function that takes a key from a dictionary as its default value using the following code:
def return_key(): return "unknown" key_dict = defaultdict(return_key) key_dict['apple'] = 'fruit' print(key_dict['pear']) print(key_dict['banana'])
The output will be:
unknown
unknown
In this example, we define a function return_key(), which simply returns "unknown". Then we create a default dictionary and define it using this function as the default value. When we try to access the keys "pear" and "banana" we get the default value "unknown". However, when we added the key "apple" to the dictionary, we got "fruit".
The above is the detailed content of Application of default value dictionary in Python and how to use defaultdict. For more information, please follow other related articles on the PHP Chinese website!