Skip to content
Related Articles
Python – Test for empty Nested Records
• Last Updated : 14 May, 2020

Sometimes, while working with Python dictionaries, we can have a problem in which we need to test if a particular dictionary has nested records, and all of them is empty, i.e with no key or no value in case of list. This kind of problem is quite common in data domains such as Data Science.
Let’s discuss certain way in which this task can be performed.

Input : test_dict = {‘Gfg’: [], ‘geeks’: {}}
Output : True

Input : test_dict = {‘Gfg’: 4}
Output : False

Method #1 : Using recursion + `all() + isinstance()`
The combination of above functionalities can be used to solve this problem. In this, we check for all nesting using all(), recursion and isinstance() is used to test for dictionary or list.

 `# Python3 code to demonstrate working of ``# Test for empty Nested Records``# Using recursion + all() + isinstance`` ` `# Helper function``def` `hlper_fnc(test_dict):``    ``if` `isinstance``(test_dict, ``dict``):``        ``return` `all``(hlper_fnc(sub) ``for` `_, sub ``in` `test_dict.items())``    ``if` `isinstance``(test_dict, ``list``):``        ``return` `all``(hlper_fnc(sub) ``for` `sub ``in` `test_dict)``    ``return` `False`` ` `# initializing dictionary``test_dict ``=` `{``'Gfg'``: [], ``'is'``: { ``'best'``: [], ``'for'``: {} }, ``'geeks'``: {}}`` ` `# printing original dictionary``print``(``"The original dictionary : "` `+` `str``(test_dict))`` ` `# Test for empty Nested Records``# Using recursion + all() + isinstance``res ``=` `hlper_fnc(test_dict)`` ` `# printing result ``print``(``"Is dictionary without data ? : "` `+` `str``(res)) `
Output :

The original dictionary : {‘is’: {‘best’: [], ‘for’: {}}, ‘geeks’: {}, ‘Gfg’: []}
Is dictionary without data ? : True

Attention geek! Strengthen your foundations with the Python Programming Foundation Course and learn the basics.

To begin with, your interview preparations Enhance your Data Structures concepts with the Python DS Course. And to begin with your Machine Learning Journey, join the Machine Learning – Basic Level Course

My Personal Notes arrow_drop_up