У меня есть диктофон, который выглядит следующим образом:
{ 'a':{'foo': True,
'bar': 1,
'baz': 'abc'},
'b':{'foo': True,
'bar': 21,
'baz': 'abc'},
'c':{'foo': True,
'bar': 3,
'baz': 'cba'}}
Каков наиболее эффективный способ фильтрации дикта, чтобы включать только те ключи, чьи под-значения для "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'}
dict( (k,v) for k, v in my_dict.items() if v['baz'] == 'abc' )