python - 从字典中的值中获取键
问题描述
我有一个字典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'])
解决方案
这是您可以尝试的解决方案,
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
推荐阅读
- javascript - Vuejs在对象数组中搜索
- php - 我的访客会话计数器不起作用
- html - html/css 中的全屏宽度标题
- arrays - 如何从每个excel单元格复制到剪贴板并粘贴到应用程序
- javascript - 如何在 React Native 中使用 HoC
- r - 如何将列中的重复值加在一起?
- javascript - 如何在 exp.com/sec1 而不是 exp.com/#sec1 之类的 url 中制作没有 # 的一页网站
- keras - Tensorflow 2.0 Keras BatchNorm:如何更新自定义训练中的在线参数?
- python - 如何为python数据框中的一系列值绘制特定颜色?
- google-maps - 使用 Angular 谷歌地图 (AGM) 获取地图的西北和东南