我写了这个 python 函数:
d ={'key1':{'key2':{'key11':{'key12':'value13'}}},'key3':[{'key4':'value2', 'key5': 'value3'}]}
key_path = 'key1.key2.key11.key12'
def recursive_search(d, key_path):
key_parts = key_path.split('.')
if len(key_parts) == 1:
return d.get(key_parts[0])
elif isinstance(d.get(key_parts[0]), dict):
recursive_search(d.get(key_parts[0]), '.'.join(key_parts[1:]))
elif isinstance(d.get(key_parts[0]), list):
for i in d.get(key_parts[0]):
for key in i.keys():
if key == key_parts[1]:
recursive_search(i, '.'.join(key_parts[1:]))
x = recursive_search(d, 'key3.key4')
我期待返回“value2”,但没有返回任何内容。我究竟做错了什么?
猛跑小猪
相关分类