Python dictionary find a key by value

In this Python tutorial, we will learn about the Python dictionary to find a key by value. Also, we will discuss the below examples:

  • Python dictionary find key by max value.
  • Python dictionary get Key value by index
  • Python dictionary find key using value
  • Python dictionary get key value pair
  • Python dictionary find key with maximum value
  • Python dictionary get key if value exists

Python dictionary find a key by value

  • Here we can see how to get the key by value in Python.
  • We can perform this task by various methods, Here is the list of some that we can use.
    • By using list.index()
    • By using dict.items() method
    • By using list comprehension method

By using list.index() method

The index method always returns the index position in a list or dictionary.

Source Code:

to_dictionary ={"Bulgaria":450, "Australia":610, "Canada":916}

new_ke_lis = list(to_dictionary.keys())
new_val = list(to_dictionary.values())

new_pos = new_val.index(610) # value from dictionary
print("Get a key by value:",new_ke_lis[new_pos])

Here is the Screenshot of the following given code

Python dictionary find a key by value
Python dictionary find a key by value

By using dict.items() method

This method returns a dictionary view object that displays the list of a dictionary in the key-value pair form.

Example:

my_dict={"a":6,"z":9,"f":17,"l":10} 
for key,value in my_dict.items():
    if value==9:
        print("key by value:",key)

Execution:

Python dictionary find a key by value method
Python dictionary find a key by value method

By using list comprehension method

In Python to get the key with the maximum value, we can use the list comprehension method. This method will help the user to execute each element along with the for loop to iterate each item.

Example:

new_dictionary={"m":45,"v":19,"q":87,"w":60} 

t={s for s in new_dictionary if new_dictionary[s]==19}
print("key by value:",t)

Output:

Python dictionary find a key by value
Python dictionary find a key by value

Read: Python convert dictionary to list

Python dictionary find key by max value

  • Let us see how to find the key by the maximum value.
  • By using the max() function we will find the key with maximum value in Dictionary.
  • To do this task first we will initialize a dictionary and assign them a key-value pairs element. Now use a max() function to get the key with maximum value.

Example:

new_dict={"x":35,"q":29,"e":97,"w":60} 

new_ke = max(new_dict, key=new_dict.get)
print("To get Key maxvalue:",new_ke)

Here is the implementation of the following given code

Python dictionary find key by max value
Python dictionary find the key by max value

Another example to get the key with max value

By using the itemgetter() function and operator module we can easily get the key. The itemgetter() function returns an object that collects an item from its operand using the operator module.

Let’s take an example and check how to get the key by using the itemgetter() function.

Source Code:

import operator
my_dict1 = {"Bulgaria": 92, "Cuba": 81, "Cyprus": 96}

new_max_key = max(my_dict1.items(), key = operator.itemgetter(1))[0]
print("key with highest value:\n",new_max_key)

Here is the Screenshot of the following given code

Python dictionary find key by max value itemgetter
Python dictionary find a key by max value itemgetter

By using lambda function

In Python, the lambda function did not need any name, they are nameless. They are used to declare a one-line function. In this example, you just need to give the function a value and then provide an expression.

Example:

In this example, we have to check how to find a key with maximum value using the lambda function

my_dict2 = {"Egypt": 129, "Denmark": 95, "Greece": 196}

ma_value = max(my_dict2, key= lambda i: my_dict2[i])
print(ma_value)

Screenshot:

Python dictionary find key by max value lambda function
Python dictionary find a key by the max value lambda function

Read: Python dictionary remove

Python dictionary get key value by index

  • Let us see how to get a key-value pair by index in the dictionary.
  • To perform this task we can use the enumerator method. This is an in-built function in Python that allows the user to check how many iterations have occurred. This method can be used directly for loops and convert them into a list.
  • Let’s take an example and check how to get key-value pair by index.
my_new_dict = {'c' : 43, 'i' : 61, 'x' : 93, 'l' : 54}
  

get_key = 'i'
new_search_key='l'

new_var = list(my_new_dict.items()) 
output = [ab for ab, new_key in enumerate(new_var) if new_key[0] == get_key]
result2 = [ab for ab, new_key in enumerate(new_var) if new_key[0] == new_search_key]

print("Get index value of key : ",output)
print("Get index value of key : ",result2) 

Here is the execution of the following given code

Python dictionary get key value by index
Python dictionary get key value by index

Another example to check how to get key-value index by using dict() method

Source Code:

dict1 = {'JOhn' : 29, 'POtter' : 18, 'Chris' : 17, 'hemsworth' : 14}
  
ind_lis = list(dict1)
new_key = ind_lis[1]
print("Get key-value by index:",new_key)

Here is the Output of the following given code

Python dictionary get key value by index method
Python dictionary get key value by the index method

Read: Python dictionary length

Python dictionary find key using value

In Python to find a key using the value, we can collect the key from a value by comparing all the values and get the specific key. In this example, we can use dict.items() method.

Example:

Let’s take an example and check how to find a key by using the value.

from typing import TextIO


def new_ke(val):
    for k, new_va in to_dictionary.items():
         if val == new_va:
             return k
 
    return 
to_dictionary ={"Australia":56, "China":72, "Turkey":93}
print("Key exist in dictionary:",new_ke(72))

print("key doesnot contain in dictionary:",new_ke(48))

Here is the Screenshot of the following given code

Python dictionary find key using value
Python dictionary find a key using the value

Read: Python Dictionary index

Python dictionary get key value pair

  • To get key-value pair in the dictionary we can easily use the enumerator method.
  • This method helps the user to access the named index of the position of the key-value element in the dictionary.

Example:

dictionary1 = {"Iran" : 37, "Iraq" : 19, "Ireland" : 64}

for x in enumerate(dictionary1.items()):
    print("key-value pair in dictionary:",x)

Here is the implementation of the following given code

Python dictionary get key value pair
Python dictionary get key-value pair

Another example to check how to get key value pair

To perform this particular task we can easily use the list comprehension method. This method returns the elements in the form of key-value pairs and it will display the result as tuples of key and value in the list.

Example:

you_dictionary = {"Maldives" : 34, "Mexico" : 159, "Portugal" : 287}

print ("key-value pairs are : ")
print([(m, you_dictionary[m]) for m in you_dictionary])

Here is the Screenshot of the following given code

Python dictionary get key value pair method
Python dictionary get key-value pair method

Python dictionary find key with maximum value

To find the key with the maximum value we can easily use the function values() and keys().

Source Code:

to_dict2 = {'Zimbabwe':689, 'Ukraine':143, 'Italy':189}
  
new_value = list(to_dict2.values())
new_key = list(to_dict2.keys())
print(new_key[new_value.index(max(new_value))])

Here is the execution of the following given code

Python dictionary find key with maximum value
Python dictionary find the key with maximum value

Read: Python dictionary initialize

Python dictionary get key if value exist

  • Let us see how to get a key if the value exists in dictionary.

Source Code:

from typing import TextIO

def exe_ke(val):
    for x, new_va in your_dict.items():
         if val == new_va:
             return x
 
    return 
your_dict ={"m":124, "s":149, "u":98}
print("Value exist in dictionary:",exe_ke(149))

print("value doesnot exist in dictionary:",exe_ke(456))

Execution

Python dictionary get key if value exist
Python dictionary get key if a value exists

You may also like reading the following articles.

In this Python tutorial, we have learned about the Python dictionary to find a key by value. Also, we have also discussed the below examples:

  • Python dictionary find key by max value.
  • Python dictionary get Key value by index
  • Python dictionary find key using value
  • Python dictionary get key value pair
  • Python dictionary find key with maximum value