📜  Python – 测试空嵌套记录

📅  最后修改于: 2022-05-13 01:54:38.326000             🧑  作者: Mango

Python – 测试空嵌套记录

有时,在使用Python字典时,我们可能会遇到一个问题,即我们需要测试一个特定的字典是否有嵌套记录,并且它们都是空的,即在 list 的情况下没有键或没有值。这类问题在数据科学等数据领域非常普遍。
让我们讨论一下可以执行此任务的特定方式。

方法 #1:使用递归 + all() + isinstance()
上述功能的组合可以用来解决这个问题。在此,我们使用 all() 检查所有嵌套,递归和 isinstance() 用于测试字典或列表。

# 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)) 
输出 :