可以使用递归函数来获取嵌套字典中的键。具体步骤如下:
定义一个函数,命名为get_value,接受两个参数:字典d和字符串s。
在函数中,检查字符串s中是否包含点号,如果包含,则将字符串按. 分割为两部分,分别为head和tail。如果不包含,则直接返回字典d[s]。
如果head在字典d中,则递归调用get_value函数,将字典d[head]和tail作为参数传入。
如果head不在字典d中,则返回None。
完整代码示例如下:
def get_value(d, s):
if '.' not in s:
return d[s]
else:
head, tail = s.split('.', 1)
if head in d:
return get_value(d[head], tail)
else:
return None
my_dict = {'name': {'first': 'John', 'last': 'Doe'}, 'age': 30}
print(get_value(my_dict, 'name.first')) # 输出:John
print(get_value(my_dict, 'age')) # 输出:30
print(get_value(my_dict, 'address.city')) # 输出:None