子集嵌套字典

时间:2017-09-25 19:33:13

标签: python dictionary nested

nested = {'a':{'aa':1, 'bb':2}, 'b':{'aa':3, 'bb':4}}

如何将result作为nested的子集,其中第二个键是'aa':

result = {'a':{'aa':1}, 'b':{'aa':3}}

我试过这个,但没有用:

result = {k1:{k2:nested[k1][k2]} for k1 in nested.keys() & k2 in ['aa']}

提前谢谢你。

1 个答案:

答案 0 :(得分:3)

您可以使用嵌套字典理解和内部字典的过滤器(这将创建一个新字典,而不是修改原始字典):

{k1: {k2: v2 for k2, v2 in v1.items() if k2 == 'aa'} for k1, v1 in nested.items()}
# {'a': {'aa': 1}, 'b': {'aa': 3}}
相关问题