How to return key if a given string matches the ke

2020-07-13 07:37发布

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?

2条回答
疯言疯语
2楼-- · 2020-07-13 08:04

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

查看更多
甜甜的少女心
3楼-- · 2020-07-13 08:13

the solution is (without comprehension expression)

my_dict = {"color": ("red", "blue", "green"), "someothercolor": ("orange", "blue", "white")}
solutions = []
my_color = 'blue'
for key, value in my_dict.items():
    if my_color in value:
        solutions.append(key)
查看更多
登录 后发表回答