访问字典python中的列表中的项目

Bin*_*nie 9 python dictionary list

我有一个字典,其中包含与列表相关的键.

mydict = {'fruits': ['banana', 'apple', 'orange'],
         'vegetables': ['pepper', 'carrot'], 
         'cheese': ['swiss', 'cheddar', 'brie']}
Run Code Online (Sandbox Code Playgroud)

我想要做的是使用if语句,如果我搜索项目及其在字典中的任何列表中,它将返回密钥.这就是我的尝试:

item = cheddar
if item in mydict.values():
    print key 
Run Code Online (Sandbox Code Playgroud)

但它没有做任何事情,输出应该是:

cheese
Run Code Online (Sandbox Code Playgroud)

这看起来很简单,但我无法弄明白.任何帮助都很棒.

phi*_*ler 11

你必须使用a for,一个简单if的不足以检查一组未知的列表:

for key in mydict.keys():
    if item in mydict[key]:
        print key
Run Code Online (Sandbox Code Playgroud)

没有明确for声明的方法可能是这样的:

foundItems = (key for key, vals in mydict.items() if item in vals)
Run Code Online (Sandbox Code Playgroud)

返回与之关联的所有键item.但在内部,仍然存在某种迭代.