- How to Extract Key from Python Dictionary using Value
- Four methods to extract keys from python dictionary given value
- Method 1 : Using List
- Method 2: Using For Loop
- Method 3: Using items()
- Get value from dictionary by key with get() in Python
- Get value from dictionary with dictPython key value from dictionary ( KeyError for non-existent keys)
- Use dict.get() to get the default value for non-existent keys
- Python dictionary find a key by value
- Python dictionary find a key by value
- By using list.index() method
- By using dict.items() method
- By using list comprehension method
- Python dictionary find key by max value
- Another example to get the key with max value
- By using lambda function
- Python dictionary get key value by index
- Python dictionary find key using value
- Python dictionary get key value pair
- Another example to check how to get key value pair
- Python dictionary find key with maximum value
- Python dictionary get key if value exist
How to Extract Key from Python Dictionary using Value
Four methods to extract keys from python dictionary given value
It is straight-forward to extract value if we have key, like unlocking a lock with a key. However, the vice versa is not as simple, like “unkeying the key with a lock”, maybe!
Sometimes extracting keys become important especially when the key and value has a one-to-one relationship. That is, when either of them is unique and hence can act as the key.
Before getting into the various methods, first we will create a dictionary for the purpose of illustration.
currency_dict is the dictionary with currency abbreviations as keys and currency names as value.
currency_dict= 'EUR':'Euro',
'GBP':'Pound',
'INR':'Rupee'>
If you have the key, getting the value by simply adding the key within square brackets.
For example, currency_dict[‘GBP’] will return ‘Pound’.
Method 1 : Using List
Step 1: Convert dictionary keys and values into lists.
Step 2: Find the matching index from value list.
Step 3: Use the index to find the appropriate key from key list.
key_list=list(currency_dict.keys())
val_list=list(currency_dict.values())
ind=val_list.index(val)
key_list[ind]Output: 'GBP'
All the three steps can be combined in a single step as below:
list(currency_dict.keys())[list(currency_dict.values()).index(val)]
Method 2: Using For Loop
Method 1 can be slightly modified using a for loop as below:
Step 1: Convert dictionary keys and values into lists.
Step 2: Iterate through all values in value list to find the required value
Step 3: Return the corresponding key from the key list.
def return_key(val):
for i in range(len(currency_dict)):
if val_list[i]==val:
return key_list[i]
return("Key Not Found")return_key("Rupee")Output: 'INR'
Method 3: Using items()
Get value from dictionary by key with get() in Python
This article describes how to get the value from a dictionary ( dict type object) by the key in Python.
If you want to extract keys by their values, see the following article.
Get value from dictionary with dictPython key value from dictionary ( KeyError for non-existent keys)
In Python, you can get the value from a dictionary by specifying the key like dictPython key value from dictionary .
d = 'key1': 'val1', 'key2': 'val2', 'key3': 'val3'> print(d['key1']) # val1
In this case, KeyError is raised if the key does not exist.
# print(d['key4']) # KeyError: 'key4'
Specifying a non-existent key is not a problem if you want to add a new element.
For more information about adding items to the dictionary, see the following article.
Use in to check if the key exists in the dictionary.
Use dict.get() to get the default value for non-existent keys
You can use the get() method of the dictionary ( dict ) to get any default value without an error if the key does not exist.
Specify the key as the first argument. If the key exists, the corresponding value is returned; otherwise, None is returned.
d = 'key1': 'val1', 'key2': 'val2', 'key3': 'val3'> print(d.get('key1')) # val1 print(d.get('key4')) # None
You can specify the default value to be returned when the key does not exist in the second argument.
print(d.get('key4', 'NO KEY')) # NO KEY print(d.get('key4', 100)) # 100
The original dictionary remains unchanged.
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 = 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
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.
my_dict= for key,value in my_dict.items(): if value==9: print("key by value:",key)
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.
new_dictionary= t= print("key by value:",t)
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.
new_dict= 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
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.
import operator my_dict1 = 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
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.
In this example, we have to check how to find a key with maximum value using the lambda function
my_dict2 = ma_value = max(my_dict2, key= lambda i: my_dict2[i]) print(ma_value)
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 = 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
Another example to check how to get key-value index by using dict() method
Source Code:
dict1 = 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 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.
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 = 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 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.
dictionary1 = for x in enumerate(dictionary1.items()): print("key-value pair in dictionary:",x)
Here is the implementation of the following given code
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.
you_dictionary = 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 find key with maximum value
To find the key with the maximum value we can easily use the function values() and keys().
to_dict2 = 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 get key if value exist
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 = print("Value exist in dictionary:",exe_ke(149)) print("value doesnot exist in dictionary:",exe_ke(456))
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
I am Bijay Kumar, a Microsoft MVP in SharePoint. Apart from SharePoint, I started working on Python, Machine learning, and artificial intelligence for the last 5 years. During this time I got expertise in various Python libraries also like Tkinter, Pandas, NumPy, Turtle, Django, Matplotlib, Tensorflow, Scipy, Scikit-Learn, etc… for various clients in the United States, Canada, the United Kingdom, Australia, New Zealand, etc. Check out my profile.