# Python – Assign keys with Maximum element index

• Last Updated : 24 Jan, 2021

Given Dictionary with value lists, the task is to write a Python program to assign each key with an index of the maximum value in the value list.

Examples:

Input : test_dict = {“gfg” : [5, 3, 6, 3], “is” : [1, 7, 5, 3], “best” : [9, 1, 3, 5]}

Output : {‘gfg’: 2, ‘is’: 1, ‘best’: 0}

Explanation : Max element in “gfg”‘s value is 6 at 2nd index, hence assigned 2.

Input : test_dict = {“gfg” : [9, 3, 6, 3], “is” : [1, 7, 5, 3], “best” : [9, 1, 3, 5]}

Output : {‘gfg’: 0, ‘is’: 1, ‘best’: 0}

Explanation : Max element in “gfg”‘s value is 9 at 0th index, hence assigned 0.

Method #1 : Using max() + loop + index()

In this, we get the index of the maximum element from the value list using max() and index(). Loop is used for the task of iteration of keys in the dictionary.

## Python3

 `# Python3 code to demonstrate working of``# Assign keys with Maximum element index``# Using max() + index() + loop`` ` `# initializing dictionary``test_dict ``=` `{``"gfg"``: [``5``, ``3``, ``6``, ``3``], ``"is"``: [``1``, ``7``, ``5``, ``3``], ``"best"``: [``9``, ``1``, ``3``, ``5``]}`` ` `# printing original dictionary``print``(``"The original dictionary is : "` `+` `str``(test_dict))`` ` `res ``=` `dict``()``for` `key ``in` `test_dict:`` ` `    ``# using index() to get required value``    ``res[key] ``=` `test_dict[key].index(``max``(test_dict[key]))`` ` `# printing result``print``(``"The maximum index assigned dictionary : "` `+` `str``(res))`

Output:

The original dictionary is : {‘gfg’: [5, 3, 6, 3], ‘is’: [1, 7, 5, 3], ‘best’: [9, 1, 3, 5]}

The maximum index assigned dictionary : {‘gfg’: 2, ‘is’: 1, ‘best’: 0}

Method #2 : Using dictionary comprehension + max() + index()

In this, we perform task of getting result using dictionary comprehension shorthand variation of above method.

## Python3

 `# Python3 code to demonstrate working of``# Assign keys with Maximum element index``# Using dictionary comprehension + max() + index()`` ` `# initializing dictionary``test_dict ``=` `{``"gfg"``: [``5``, ``3``, ``6``, ``3``], ``"is"``: [``1``, ``7``, ``5``, ``3``], ``"best"``: [``9``, ``1``, ``3``, ``5``]}`` ` `# printing original dictionary``print``(``"The original dictionary is : "` `+` `str``(test_dict))`` ` `# using dictionary comprehension as one liner alternative``res ``=` `{key: test_dict[key].index(``max``(test_dict[key])) ``for` `key ``in` `test_dict}`` ` `# printing result``print``(``"The maximum index assigned dictionary : "` `+` `str``(res))`

Output:

The original dictionary is : {‘gfg’: [5, 3, 6, 3], ‘is’: [1, 7, 5, 3], ‘best’: [9, 1, 3, 5]}

The maximum index assigned dictionary : {‘gfg’: 2, ‘is’: 1, ‘best’: 0}

My Personal Notes arrow_drop_up