【发布时间】:2016-12-16 06:07:42
【问题描述】:
我想检查嵌套字典中是否存在键元组,类似于dict.get。功能可以实现如下。
nested_dict = {
'x': 1,
'a': {
'b': {
'c': 2,
'y': 3
},
'z': 4
}
}
def check(nested, *path):
for key in path:
if isinstance(nested, dict) and key in nested:
nested = nested[key]
else:
return False
return True
check(nested_dict, 'a', 'b', 'c') # True
check(nested_dict, 'x') # True
check(nested_dict, 'a', 'b', 'y') # True
check(nested_dict, 'a', 'z') # True
check(nested_dict, 'y') # False
check(nested_dict, 'a', 'y') # False
check(nested_dict, 'a', 'b', 'c', 'y') # False
是否有更简洁(或更好的内置)方法来执行此操作?
【问题讨论】:
标签: python python-3.x dictionary nested python-3.5