- Python Dictionary Append: How to Add Key/Value Pair
- Restrictions on Key Dictionaries
- How to append an element to a key in a dictionary with Python?
- Accessing elements of a dictionary
- Deleting element(s) in a dictionary
- Deleting Element(s) from dictionary using pop() method
- Appending element(s) to a dictionary
- Updating existing element(s) in a dictionary
- Insert a dictionary into another dictionary
- Summary
- How To Add to a Dictionary in Python
- Adding to a Dictionary Using the = Assignment Operator
- Adding to a Dictionary Without Overwriting Values
- Adding to a Dictionary Using the update() Method
- Adding to a Dictionary Using the Merge | Operator
- Adding to a Dictionary Using the Update |= Operator
- Conclusion
Python Dictionary Append: How to Add Key/Value Pair
Dictionary is one of the important data types available in Python. The data in a dictionary is stored as a key/value pair. It is separated by a colon(:), and the key/value pair is separated by comma(,).
The keys in a dictionary are unique and can be a string, integer, tuple, etc. The values can be a list or list within a list, numbers, string, etc.
Here is an example of a dictionary:
Restrictions on Key Dictionaries
Here is a list of restrictions on the key in a dictionary:
- If there is a duplicate key defined in a dictionary, the last is considered. For example consider dictionary my_dict = ;. It has a key “Name” defined twice with value as ABC and XYZ. The preference will be given to the last one defined, i.e., “Name”: “XYZ.”
- The data-type for your key can be a number, string, float, boolean, tuples, built-in objects like class and functions. For example my_dict = ;Only thing that is not allowed is, you cannot defined a key in square brackets for example my_dict = ;
How to append an element to a key in a dictionary with Python?
We can make use of the built-in function append() to add elements to the keys in the dictionary. To add element using append() to the dictionary, we have first to find the key to which we need to append to.
Consider you have a dictionary as follows:
The keys in the dictionary are Name, Address and Age. Usingappend() methodwe canupdate the values for the keys in the dictionary.
my_dict = <"Name":[],"Address":[],"Age":[]>; my_dict["Name"].append("Guru") my_dict["Address"].append("Mumbai") my_dict["Age"].append(30) print(my_dict)
When we print the dictionary after updating the values, the output is as follows:
Accessing elements of a dictionary
The data inside a dictionary is available in a key/value pair. To access the elements from a dictionary, you need to use square brackets ([‘key’]) with the key inside it.
Here is an example that shows to accesselements from the dictionary by using the key in the square bracket.
my_dict = print("username :", my_dict['username']) print("email : ", my_dict["email"]) print("location : ", my_dict["location"])
username : XYZ email : xyz@gmail.com location : Mumbai
If you try to use a key that is not existing in the dictionary , it will throw an error as shown below:
my_dict = print("name :", my_dict['name'])
Traceback (most recent call last): File "display.py", line 2, in print("name :", my_dict['name']) KeyError: 'name'
Deleting element(s) in a dictionary
To delete an element from a dictionary, you have to make use of the del keyword.
del dict['yourkey'] # This will remove the element with your key.
To delete the entire dictionary, you again can make use of the del keyword as shown below:
del my_dict # this will delete the dictionary with name my_dict
To just empty the dictionary or clear the contents inside the dictionary you can makeuse of clear() method on your dictionaryas shown below:
Here is a working example that shows the deletion of element, to clear the dict contents and to delete entire dictionary.
my_dict = del my_dict['username'] # it will remove "username": "XYZ" from my_dict print(my_dict) my_dict.clear() # till will make the dictionarymy_dictempty print(my_dict) delmy_dict # this will delete the dictionarymy_dict print(my_dict)
<> Traceback (most recent call last): File "main.py", line 7, in print(my_dict) NameError: name 'my_dict' is not defined
Deleting Element(s) from dictionary using pop() method
In addition to the del keyword, you can also make use of dict.pop() method to remove an element from the dictionary. The pop() is a built-in method available with a dictionary that helps to delete the element based on the key given.
The pop() method returns the element removed for the given key, and if the given key is not present, it will return the defaultvalue. If the defaultvalue is not given and the key is not present in the dictionary, it will throw an error.
Here is a working example that shows using of dict.pop() to delete an element.
my_dict = my_dict.pop("username") print(my_dict)
Appending element(s) to a dictionary
To append an element to an existing dictionary, you have to use the dictionary name followed by square brackets with the key name and assign a value to it.
Here is an example of the same:
my_dict = my_dict['name']='Nick' print(my_dict)
Updating existing element(s) in a dictionary
To update the existing elements inside a dictionary, you need a reference to the key you want the value to be updated.
We would like to update the username from XYZ to ABC . Here is an example that shows how you can update it.
my_dict = my_dict["username"] = "ABC" print(my_dict)
Insert a dictionary into another dictionary
Consider you have two dictionaries as shown below:
Now I want my_dict1 dictionary to be inserted into my_dict dictionary. To do that lets create a key called “name” in my_dict and assign my_dict1 dictionary to it.
Here is a working example that shows inserting my_dict1 dictionary into my_dict.
my_dict = my_dict1 = my_dict["name"] = my_dict1 print(my_dict)
Now if you see the key “name”, it has the dictionary my_dict1.
Summary
- Dictionary is one of the important data types available in Python. The data in a dictionary is stored as a key/value pair. The key/value is separated by a colon(:), and the key/value pair is separated by comma(,). The keys in a dictionary are unique and can be a string, integer, tuple, etc. The values can be a list or list within a list, numbers, string, etc. When working with lists, you might want to sort them. In that case, you can learn more about Python list sorting in this informative article.
Important built-in methods on a dictionary:
Method | Description |
---|---|
clear() | It will remove all the elements from the dictionary. |
append() | It is a built-in function in Python that helps to update the values for the keys in the dictionary. |
update() | The update() method will help us to merge one dictionary with another. |
pop() | Removes the element from the dictionary. |
How To Add to a Dictionary in Python
Dictionary is a built-in Python data type. A dictionary is a sequence of key-value pairs. Dictionaries are mutable objects, however, dictionary keys are immutable and need to be unique within each dictionary. There’s no built-in add method, but there are several ways to add to and update a dictionary. In this article, you’ll use the Python assignment operator, the update() method, and the merge and update dictionary operators to add to and update Python dictionaries.
Adding to a Dictionary Using the = Assignment Operator
You can use the = assignment operator to add a new key to a dictionary:
If a key already exists in the dictionary, then the assignment operator updates, or overwrites, the value.
The following example demonstrates how to create a new dictionary and then use the assignment operator = to update a value and add key-value pairs:
dict_example = 'a': 1, 'b': 2> print("original dictionary: ", dict_example) dict_example['a'] = 100 # existing key, overwrite dict_example['c'] = 3 # new key, add dict_example['d'] = 4 # new key, add print("updated dictionary: ", dict_example)
Outputoriginal dictionary: updated dictionary:
The output shows that the value of a is overwritten by the new value, the value of b is unchanged, and new key-value pairs are added for c and d .
Adding to a Dictionary Without Overwriting Values
Using the = assignment operator overwrites the values of existing keys with the new values. If you know that your program might have duplicate keys, but you don’t want to overwrite the original values, then you can conditionally add values using an if statement.
Continuing with the example from the preceding section, you can use if statements to add only new key-value pairs to the dictionary:
dict_example = 'a': 1, 'b': 2> print("original dictionary: ", dict_example) dict_example['a'] = 100 # existing key, overwrite dict_example['c'] = 3 # new key, add dict_example['d'] = 4 # new key, add print("updated dictionary: ", dict_example) # add the following if statements if 'c' not in dict_example.keys(): dict_example['c'] = 300 if 'e' not in dict_example.keys(): dict_example['e'] = 5 print("conditionally updated dictionary: ", dict_example)
Outputoriginal dictionary: updated dictionary: conditionally updated dictionary:
The output shows that, because of the if condition, the value of c didn’t change when the dictionary was conditionally updated.
Adding to a Dictionary Using the update() Method
You can append a dictionary or an iterable of key-value pairs to a dictionary using the update() method. The update() method overwrites the values of existing keys with the new values.
The following example demonstrates how to create a new dictionary, use the update() method to add a new key-value pair and a new dictionary, and print each result:
site = 'Website':'DigitalOcean', 'Tutorial':'How To Add to a Python Dictionary'> print("original dictionary: ", site) # update the dictionary with the author key-value pair site.update('Author':'Sammy Shark'>) print("updated with Author: ", site) # create a new dictionary guests = 'Guest1':'Dino Sammy', 'Guest2':'Xray Sammy'> # update the original dictionary with the new dictionary site.update(guests) print("updated with new dictionary: ", site)
Outputoriginal dictionary: updated with Author: updated with new dictionary:
The output shows that the first update adds a new key-value pair and the second update adds the key-value pairs from the guest dictionary to the site dictionary. Note that if your update to a dictionary includes an existing key, then the old value is overwritten by the update.
Adding to a Dictionary Using the Merge | Operator
You can use the dictionary merge | operator, represented by the pipe character, to merge two dictionaries and return a new dictionary object.
The following example demonstrates how to to create two dictionaries and use the merge operator to create a new dictionary that contains the key-value pairs from both:
site = 'Website':'DigitalOcean', 'Tutorial':'How To Add to a Python Dictionary', 'Author':'Sammy'> guests = 'Guest1':'Dino Sammy', 'Guest2':'Xray Sammy'> new_site = site | guests print("site: ", site) print("guests: ", guests) print("new_site: ", new_site)
Outputsite: guests: new_site:
The two dictionaries were merged into a new dictionary object that contains the key-value pairs from both dictionaries.
If a key exists in both dictionaries, then the value from the second dictionary, or right operand, is the value taken. In the following example code, both dictionaries have a key called b :
dict1 = 'a':'one', 'b':'two'> dict2 = 'b':'letter two', 'c':'letter three'> dict3 = dict1 | dict2 print"dict3: ", dict3>
The value of key b was overwritten by the value from the right operand, dict2 .
Adding to a Dictionary Using the Update |= Operator
You can use the dictionary update |= operator, represented by the pipe and equal sign characters, to update a dictionary in-place with the given dictionary or values.
Just like the merge | operator, if a key exists in both dictionaries, then the update |= operator takes the value from the right operand.
The following example demonstrates how to create two dictionaries, use the update operator to append the second dictionary to the first dictionary, and then print the updated dictionary:
site = 'Website':'DigitalOcean', 'Tutorial':'How To Add to a Python Dictionary', 'Author':'Sammy'> guests = 'Guest1':'Dino Sammy', 'Guest2':'Xray Sammy'> site |= guests print("site: ", site)
In the preceding example, you didn’t need to create a third dictionary object, because the update operator modifies the original object. The output shows that the guests dictionary was appended to the original site dictionary.
Conclusion
In this article, you used different methods to add to and update a Python dictionary. Continue your learning with more Python tutorials.
Thanks for learning with the DigitalOcean Community. Check out our offerings for compute, storage, networking, and managed databases.