我有一本字典,里面有与列表相关联的键。
mydict = {'fruits': ['banana', 'apple', 'orange'],
'vegetables': ['pepper', 'carrot'],
'cheese': ['swiss', 'cheddar', 'brie']}
我要做的是使用if语句,如果我在字典中的任何列表中搜索项及其项,它将返回键。这就是我所尝试的:
item = cheddar
if item in mydict.values():
print key
但它什么也做不了,输出应该是:
cheese
这看起来很简单,但我就是想不通。任何帮助都很棒。
如果要进行大量此类搜索,我认为可以为原始
mydict
创建反向索引,以加快查询速度:这样,您不必每次都遍历
values
列表来查找项目。这是可行的,但是你必须参考字典里的钥匙,比如奶酪、蔬菜等,而不是因为你做字典的方式,希望这对你有帮助!
您必须使用
for
,一个简单的if
不足以检查一组未知的列表:没有显式
for
语句的方法可能如下:它返回与
item
相关联的所有键。但在内部,仍有某种迭代在进行。相关问题 更多 >
编程相关推荐