我试图根据双嵌套dict中的值,从嵌套字典中的嵌套字典中删除key:value对。
字典看起来是这样的,我想过滤掉年龄在25岁以下的人的全部条目(而我不想过滤掉最外层的字典,所以是“人组”字典)。
# Make a nested dictionary for test
people = {0:{1:{'name': 'John', 'age': '27', 'gender': 'Male'},
2: {'name': 'Marie', 'age': '22', 'gender': 'Female'},
3: {'name': 'Nicola', 'age': '19', 'gender': 'Non-binary'},
4: {'name': 'Garfield', 'age': '32', 'gender': 'Male'}},
1:{1:{'name': 'Katie', 'age': '24', 'gender': 'Male'},
2: {'name': 'Marigold', 'age': '42', 'gender': 'Female'},
3: {'name': 'James', 'age': '10', 'gender': 'Non-binary'},
4: {'name': 'Precious', 'age': '35', 'gender': 'Male'}}}
我已经找到了通往这条线的路,这有点类似,尽管那里只有一层“嵌套”。
从中,我了解到,如果我的字典只嵌套了一轮,我可以这样做来过滤与它们关联的值太低的键:
{i:j for i,j in people.items() if j.get('age',0) >='25'}
如何在这样的双嵌套字典中访问元素,然后删除整个“单嵌套字典”,但保留最外层的字典?
1条答案
按热度按时间e0uiprwp1#
您可以使用嵌套的dict理解: