首页 > 解决方案 > 从字典中的值中获取键

问题描述

我有一个字典dict_of_dicts={1:{'id':1,'name':'joe'},2: {'id':2,'name':'jim'},3: {'id':3,'name':'bob'}}(结构超出了我的控制,所以我不能更方便地定义我的字典)。我正在寻找包含'name':'bob'. 即我想提取特定名称的 id 值。

我已经想到了一个循环解决方案,但是有没有更 Pythonic 的方式来解决这个问题?我的尝试如下

for i in list(dict_of_dicts.values()):
    if i['name']=='bob':
        print(i['id'])

标签: pythondictionary

解决方案


这是您可以尝试的解决方案,

search_ = 'bob'

for k, v in dict_of_dicts.items():
    if search_ in v.values():
        print(f"Id {k}")
        break
else:
    print("No Match Found")

编辑

def search_(key):
    for k, v in dict_of_dicts.items():
        if key in v.values():
            return k
        
    return -1  # Indicating no match found

推荐阅读