根据值在多维dict中查找键

时间:2011-06-23 19:42:02

标签: python dictionary

我有一个dicts的词典,如下所示:

{ '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'}}

1 个答案:

答案 0 :(得分:7)

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