字典 - 缩小值并打印属于它的键 - Python

Nic*_*ick 1 python dictionary

我正在翻阅字典并试图通过它并确定"food_type"中的哪些字典键具有相应的"fruit"值.到目前为止,我的下面最远的代码是:

def  fruit (food_type):


         for f in food_type.values():
                if f=="fruit" :
                    return(f)

fruit ({'apple': 'fruit', 'lettuce': 'veggie', 'banana':'fruit'})
Run Code Online (Sandbox Code Playgroud)

这只会返回"水果"一次,所以我不是100%,如果这就是我想要的,因为我的最终目标是将值反映回字典并返回具有"水果"作为其值的键.我知道为了得到一个你可以做的值:d [k]或d.get(k)等.

我正在寻找以下输出:

["apple","banana"]
Run Code Online (Sandbox Code Playgroud)

Ilj*_*ilä 5

您将要遍历(key, value)对,将匹配累积到列表,然后返回该列表.

一个列表解析得到很好地完成工作:

def fruit(food_type):
    return [k for k, v in food_type.items() if v == 'fruit']
Run Code Online (Sandbox Code Playgroud)