Jonas Jonas - 1 month ago 13
Python Question

How to return key if a given string matches the keys value in a dictionary

I am new to dictionaries, and i'm trying to find out how to return a key if a given string matches the keys value in a dictionary.

Example:

dict = {"color": (red, blue, green), "someothercolor": (orange, blue, white)}


I want to return
color
and
someothercolor
, if the key's value contains
blue
.

Any suggestions?

Answer

You may write list comprehension expression as:

>>> my_dict = {"color": ("red", "blue", "green"), "someothercolor": ("orange", "blue", "white")}

>>> my_color = "blue"
>>> [k for k, v in my_dict.items() if my_color in v]
['color', 'someothercolor']

Note: Do not use dict as variable because dict is built-in data type in Python