Skip to main content
 首页 » 编程设计

python之根据值在多维字典中查找键

2025年05月04日14softidea

我有一个看起来像下面这样的字典:

{ 'a':{'foo': True, 
       'bar': 1, 
       'baz': 'abc'}, 
  'b':{'foo': True, 
       'bar': 21, 
       'baz': 'abc'}, 
  'c':{'foo': True, 
       'bar': 3, 
       'baz': 'cba'}} 

什么是最有效的过滤 dict 的方法,只包含那些 'baz' 的子值为 'abc' 的键?所以在上面的例子中,它会返回一个看起来像这样的字典:

{ 'a':{'foo': True, 
       'bar': 1, 
       'baz': 'abc'}, 
  'b':{'foo': True, 
       'bar': 21, 
       'baz': 'abc'}} 

请您参考如下方法:

{k: v for k, v in my_dict.items() if v['baz'] == 'abc'}