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']}
提前谢谢你。
答案 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}}