Open In App
Related Articles

Python | Add new keys to a dictionary

Improve Article
Save Article
Like Article

In this article, we will cover how to add a new Key to a Dictionary in Python. We will use 8 different methods to append new keys to a dictionary. Dictionary in Python is an unordered collection of data values, used to store data values like a map, unlike other Data Types that hold only a single value as an element, a Dictionary holds a key: value pair. Key-value is provided in the dictionary to make it more optimized. Each key-value pair in a Dictionary is separated by a colon: whereas each key is separated by a ‘comma’. The keys of a Dictionary must be unique and of immutable data types such as Strings, Integers, and tuples, but the key values can be repeated and be of any type.

Python Program to Add Keys to a Dictionary

Let’s see how can we add new keys to a dictionary using different ways to a dictionary.

  • Add new key value to the dictionary Python using the Subscript notation 
  •  Add new key value to the dictionary with update() Method
  • Add new key value to the dictionary Python using the __setitem__ Method
  • Add a new key value to the dictionary Python using the  ** operator 
  • Add new key value to the dictionary with If statements
  • Add key value to the dictionary with enumerate()
  • Add key value to the dictionary with Zip
  • Add new Keys to the dictionary with a Custom Class

Add new keys using the Subscript Notation

This method will create a new key\value pair on a dictionary by assigning a value to that key. If the key doesn’t exist, it will be added and will point to that value. If the key exists, the current value it points to will be overwritten. 


dict = {'key1': 'geeks', 'key2': 'fill_me'}
print("Current Dict is:", dict)
# using the subscript notation
# Dictionary_Name[New_Key_Name] = New_Key_Value
dict['key2'] = 'for'
dict['key3'] = 'geeks'
print("Updated Dict is:", dict)


Current Dict is: {'key1': 'geeks', 'key2': 'fill_me'}
Updated Dict is: {'key1': 'geeks', 'key2': 'for', 'key3': 'geeks'}

Add new keys using update() Method

When we have to update/add a lot of keys/values to the dictionary, the update() method is suitable. The update() method inserts the specified items into the dictionary.


dict = {'key1': 'geeks', 'key2': 'for'}
print("Current Dict is:" , dict)
# adding key3
dict.update({'key3': 'geeks'})
print("Updated Dict is:", dict)
# adding dict1 (key4 and key5) to dict
dict1 = {'key4': 'is', 'key5': 'fabulous'}
print("After adding dict1 is:" , dict)
# by assigning
print("After asssigning new key:" , dict)


Current Dict is: {‘key1’: ‘geeks’, ‘key2’: ‘for’}

Updated Dict is: {‘key1’: ‘geeks’, ‘key2’: ‘for’, ‘key3’: ‘geeks’}

After adding dict1 is: {‘key1’: ‘geeks’, ‘key2’: ‘for’, ‘key3’: ‘geeks’, ‘key4’: ‘is’, ‘key5’: ‘fabulous’}

After asssigning new key: {‘key1’: ‘geeks’, ‘key2’: ‘for’, ‘key3’: ‘geeks’, ‘key4’: ‘is’, ‘key5’: ‘fabulous’, ‘newkey1’: ‘portal’}

Add new keys using the __setitem__ Method

The __setitem__ method to add a key-value pair to a dict using the __setitem__ method. It should be avoided because of its poor performance (computationally inefficient). 


dict = {'key1': 'geeks', 'key2': 'for'}
# using __setitem__ method
dict.__setitem__('newkey2', 'GEEK')

Output :

{'key1': 'geeks', 'key2': 'for', 'newkey2': 'GEEK'}

Add new keys using the ** Operator

We can merge the old dictionary and the new key/value pair in another dictionary. Using ** in front of key-value pairs like  **{‘c’: 3} will unpack it as a new dictionary object.


dict = {'a': 1, 'b': 2}
# will create a new dictionary
new_dict = {**dict, **{'c': 3}}

Output :

{'a': 1, 'b': 2}
{'a': 1, 'b': 2, 'c': 3}

Add new keys using the “in” operator and IF statements

If the key is not already present in the dictionary, the key will be added to the dictionary using the if statement. If it is evaluated to be false, the “Dictionary already has a key” message will be printed.


mydict = {"a": 1, "b": 2, "c": 3}
if "d" not in mydict:
    mydict["d"] = "4"
    print("Dictionary already has key : One. Hence value is not overwritten ")

Output :

{'a': 1, 'b': 2, 'c': 3, 'd': '4'}

Add new keys using a for loop and enumerate() Method

Make a list of elements. Use the enumerate() method to iterate the list, and then add each item to the dictionary by using its index as a key for each value.


list1 = {"a": 1, "b": 2, "c": 3}
list2 = ["one: x", "two:y", "three:z"]
# Using for loop enumerate()
for i, val in enumerate(list2):
    list1[i] = val

Output :

{'a': 1, 'b': 2, 'c': 3, 0: 'one: x', 1: 'two:y', 2: 'three:z'}

Add Multiple Items to a Python Dictionary with Zip

In this example, we are using a zip method of Python for adding keys and values to an empty dictionary python. You can also use an in the existing dictionary to add elements in the dictionary in place of a dictionary = {}.


dictionary = {}
keys = ['key2', 'key1', 'key3']
values = ['geeks', 'for', 'geeks']
for key, value in zip(keys, values):
    dictionary[key] = value

Output :

{'key2': 'geeks', 'key1': 'for', 'key3': 'geeks'}

Add new Keys to the dictionary with a Custom Class

At first, we have to learn how can we create dictionaries using Python. It defines a class called my_dictionary that inherits from the built-in dict class. The class has an __init__ method that initializes an empty dictionary, and a custom add method that adds key-value pairs to the dictionary.


# Create your dictionary class
class my_dictionary(dict):
  # __init__ function
  def __init__(self):
    self = dict()
  # Function to add key:value
  def add(self, key, value):
    self[key] = value
# Main Function
dict_obj = my_dictionary()
dict_obj.add(1, 'Geeks')
dict_obj.add(2, 'forGeeks')

Output :

{1: 'Geeks', 2: 'forGeeks'}

Whether you're preparing for your first job interview or aiming to upskill in this ever-evolving tech landscape, GeeksforGeeks Courses are your key to success. We provide top-quality content at affordable prices, all geared towards accelerating your growth in a time-bound manner. Join the millions we've already empowered, and we're here to do the same for you. Don't miss out - check it out now!

Last Updated : 01 Jul, 2023
Like Article
Save Article
Similar Reads
Complete Tutorials