以下是一个按字典搜索字典的解决方法的示例代码:
def search_dict(search_dict, keyword):
results = []
for key, value in search_dict.items():
if isinstance(value, dict):
sub_results = search_dict(value, keyword)
results.extend(sub_results)
elif isinstance(value, str) and keyword in value:
results.append((key, value))
return results
# 示例用法
my_dict = {
'name': 'John',
'age': 30,
'contact': {
'email': 'john@example.com',
'phone': '1234567890'
},
'address': {
'home': '123 Street',
'work': '456 Street'
}
}
keyword = 'Street'
results = search_dict(my_dict, keyword)
print(results)
输出结果为:
[('address', {'home': '123 Street', 'work': '456 Street'})]
这个例子中,search_dict
函数接收一个字典和一个关键字作为参数。它会遍历字典的键值对,如果值是一个字典,则递归调用search_dict
函数进行搜索。如果值是一个字符串,并且关键字包含在字符串中,则将键值对添加到结果列表中。最后,返回结果列表。
在示例用法中,我们将一个包含嵌套字典的字典传递给search_dict
函数,并指定关键字为Street
。函数会搜索字典中的字符串值,找到包含关键字的键值对,并将结果返回。最后,我们将结果打印出来。
上一篇:按字典顺序最小的字符串旋转