Open In App

Python – Variable Operations Dictionary update

Last Updated : 10 May, 2023
Improve
Improve
Like Article
Like
Save
Share
Report

Sometimes, while working with Python dictionaries we can have a problem in which we need to perform a population of dictionary values using assigned variables after certain operation among them. This can have application in day-day programming. Let’s discuss certain ways in which this task can be performed.

Method #1 : Using lambda + dictionary comprehension 
The combination of above functions can be used to solve this problem. In this, we perform the assignment using dictionary comprehension and values computations using lambda functions.

Python3




# Python3 code to demonstrate working of
# Variable Operations Dictionary update
# Using lambda + dictionary comprehension
 
# helper functions
helper_fnc = {'Gfg': lambda: x + y,
         'best': lambda: x * y}
 
# initializing variables
x = 6
y = 7
 
# Variable Operations Dictionary update
# Using lambda + dictionary comprehension
res = {key: val() for key, val in hlper_fnc.items()}
 
# printing result
print("The Initialized dictionary : " + str(res))


Output : 

The Initialized dictionary : {'best': 42, 'Gfg': 13}

 

Time complexity: O(n), where n is the number of values in the dictionary.
Auxiliary Space: O(1), constant extra space is required

 
Method #2 : Using operators library 
This task can also be performed using above functionality. In this, we use inbuilt operations provided by the operator library to achieve this task.

Python3




# Python3 code to demonstrate working of
# Variable Operations Dictionary update
# Using lambda + dictionary comprehension
from operator import add, mul
 
# helper functions
helper_fnc = {'Gfg': add,
         'best': mul}
 
# initializing variables
x = 6
y = 7
 
# Variable Operations Dictionary update
# Using lambda + dictionary comprehension
res = {'Gfg' : hlper_fnc['Gfg'](x, y), 'best' : hlper_fnc['best'](x, y)}
 
# printing result
print("The Initialized dictionary : " + str(res))


Output : 

The Initialized dictionary : {'best': 42, 'Gfg': 13}

 

Method 3: Using the update() method:

Algorithm: This approach uses the update() method to merge the new_dict into the existing dictionary.

  • Define the dict_update_method function, which takes in two dictionaries dictionary and new_dict.
  • Use the update() method to merge the key-value pairs from new_dict into dictionary.
  • Call the dict_update_method function with the two dictionaries to update dictionary with the key-value pairs from new_dict.
  • Print out the dictionary before and after the update to verify the update was successful

Python3




def dict_update_method(dictionary, new_dict):
    dictionary.update(new_dict)
 
example_input = {'a': 1, 'b': 2}
new_dict = {'b': 3, 'c': 4}
initialized_dict = {'best': 42, 'Gfg': 13}
print("Before update:", example_input)
dict_update_method(example_input, new_dict)
print("After update:", example_input)
print("Initialized dictionary:", initialized_dict)


Output

Before update: {'a': 1, 'b': 2}
After update: {'a': 1, 'b': 3, 'c': 4}
Initialized dictionary: {'best': 42, 'Gfg': 13}

Time Complexity: O(n) – where n is the number of items in the new_dict.
Auxiliary Space: O(1) – constant space is required for storing the new_dict and the updated dictionary.

Method 4: Use a simple for loop

Python3




# Python3 code to demonstrate working of
# Variable Operations Dictionary update
# Using for loop
from operator import add, mul
 
# helper functions
helper_fnc = {'Gfg': add,
         'best': mul}
 
# initializing variables
x = 6
y = 7
 
# Variable Operations Dictionary update
# Using for loop
res = {}
for key, func in helper_fnc.items():
    res[key] = func(x, y)
 
# printing result
print("The Initialized dictionary : " + str(res))


Output

The Initialized dictionary : {'Gfg': 13, 'best': 42}

Time complexity: O(n), where n is the number of key-value pairs in the helper_fnc dictionary.
Auxiliary space: O(n), where n is the number of key-value pairs in the helper_fnc dictionary, because we need to create a new dictionary res to store the results.



Like Article
Suggest improvement
Previous
Next
Share your thoughts in the comments

Similar Reads