# Python – Variable Operations Dictionary update

Last Updated : 10 May, 2023

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.