# Python | K modulo on each Dictionary Key

Last Updated : 27 Apr, 2023

Sometimes, while working with dictionaries, we might come across a problem in which we require to perform a particular operation on each value of keys like K modulo on each key. This type of problem can occur in web development domain. Letâ€™s discuss certain ways in which this task can be performed.

Method #1 : Using loop This is the naive method in which this task can be performed. In this we simply run a loop to traverse each key in dictionary and perform the desired operation of K modulo.

## Python3

 `# Python3 code to demonstrate working of` `# K modulo on each Dictionary Key` `# Using loop`   `# Initialize dictionary` `test_dict ``=` `{``'gfg'` `: ``6``, ``'is'` `: ``4``, ``'best'` `: ``7``}`   `# printing original dictionary` `print``("The original dictionary : " ``+` `str``(test_dict))`   `# initializing K ` `K ``=` `4`   `# Using loop` `# K modulo on each Dictionary Key` `for` `key ``in` `test_dict: ` `    ``test_dict[key] ``%``=` `4`   `# printing result ` `print``("The dictionary after mod K each key's value : " ``+` `str``(test_dict))`

Output :

```The original dictionary : {'is': 4, 'best': 7, 'gfg': 6}
The dictionary after mod K each key's value : {'is': 0, 'best': 3, 'gfg': 2}```

Time Complexity: O(n), where n is the length of the list test_dict
Auxiliary Space: O(n) additional space of size n is created where n is the number of elements in the res list

Method #2 : Using update() + dictionary comprehension An alternate one-liner to perform this task, the combination of above functions can be used to perform this particular task. The update function is used to perform the % K over the dictionary.

## Python3

 `# Python3 code to demonstrate working of` `# K modulo on each Dictionary Key` `# Using update() + dictionary comprehension`   `# Initialize dictionary` `test_dict ``=` `{``'gfg'` `: ``6``, ``'is'` `: ``4``, ``'best'` `: ``7``}`   `# printing original dictionary` `print``("The original dictionary : " ``+` `str``(test_dict))`   `# initializing K ` `K ``=` `4`   `# Using update() + dictionary comprehension` `# K modulo on each Dictionary Key` `test_dict.update((x, y ``%` `K) ``for` `x, y ``in` `test_dict.items())`   `# printing result ` `print``("The dictionary after mod K each key's value : " ``+` `str``(test_dict))`

Output :

```The original dictionary : {'is': 4, 'best': 7, 'gfg': 6}
The dictionary after mod K each key's value : {'is': 0, 'best': 3, 'gfg': 2}```

Method #3 : Using dictionary comprehension

## Python3

 `# Method #3 : Using dictionary comprehension`   `# Python3 code to demonstrate working of` `# K modulo on each Dictionary Key` `# Using dictionary comprehension` `  `  `# Initialize dictionary` `test_dict ``=` `{``'gfg'` `: ``6``, ``'is'` `: ``4``, ``'best'` `: ``7``}` `  `  `# printing original dictionary` `print``(``"The original dictionary : "` `+` `str``(test_dict))` `  `  `# initializing K ` `K ``=` `4` `  `  `# Using map() + dictionary comprehension` `# K modulo on each Dictionary Key` `test_dict ``=` `{key: value ``%` `K ``for` `key, value ``in` `test_dict.items()}` `  `  `# printing result ` `print``(``"The dictionary after mod K each key's value : "` `+` `str``(test_dict))`

Output

```The original dictionary : {'gfg': 6, 'is': 4, 'best': 7}
The dictionary after mod K each key's value : {'gfg': 2, 'is': 0, 'best': 3}```

# Time complexity : O(n), n is the number of keys in the dictionary.
# Space complexity : O(n), n is the number of keys in the dictionary.

Method #4 : Using operator.mod(),keys() methods

Approach

1. Initiate a dictionary to traverse the list of dictionary keys
2. Create a new dictionary with key of test_dict and value modulo K  as value
3. Display new dictionary

## Python3

 `# Python3 code to demonstrate working of` `# K modulo on each Dictionary Key` `# Using loop`   `# Initialize dictionary` `test_dict ``=` `{``'gfg'` `: ``6``, ``'is'` `: ``4``, ``'best'` `: ``7``}`   `# printing original dictionary` `print``(``"The original dictionary : "` `+` `str``(test_dict))`   `# initializing K` `K ``=` `4` `import` `operator` `res``=``dict``()` `for` `i ``in` `list``(test_dict.keys()):` `    ``res[i]``=``operator.mod(test_dict[i],K)` `    `  `# printing result` `print``(``"The dictionary after mod K each key's value : "` `+` `str``(res))`

Output

```The original dictionary : {'gfg': 6, 'is': 4, 'best': 7}
The dictionary after mod K each key's value : {'gfg': 2, 'is': 0, 'best': 3}```

Time Complexity : O(N) N – length of dictionary keys list

Auxiliary Space : O(N) length of new dictionary

Share your thoughts in the comments