Python key value from dictionary

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()

Источник

Читайте также:  Python list sorted reverse

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

    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.

    my_dict= for key,value in my_dict.items(): if value==9: print("key by value:",key)

    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.

    new_dictionary= t= print("key by value:",t)

    Python dictionary find a key by value

    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

    Python dictionary find 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.

    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

    Python dictionary find 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.

    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 find key by max value lambda function

    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

    Python dictionary get key value by index

    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 get key value by index method

    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 find key using value

    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

    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.

    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 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().

    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 find key with maximum value

    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))

    Python dictionary get key if value exist

    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.

    Источник

Оцените статью