在可能包含更多列表或多个字典列表的嵌套字典中查找子字符串的所有实例,可以通过递归的方式进行查找。以下是一个示例代码,用于在嵌套字典中查找子字符串的所有实例:
def find_substring_in_nested_dict(nested_dict, substring):
instances = []
def search_dict(dictionary, substring):
for key, value in dictionary.items():
if isinstance(value, dict):
search_dict(value, substring)
elif isinstance(value, list):
for item in value:
if isinstance(item, dict):
search_dict(item, substring)
elif isinstance(item, str) and substring in item:
instances.append(item)
elif isinstance(value, str) and substring in value:
instances.append(value)
search_dict(nested_dict, substring)
return instances
使用示例:
nested_dict = {
'key1': 'value1',
'key2': {
'key3': 'value2',
'key4': [
'value3',
'value4',
{
'key5': 'value5',
'key6': 'value6'
}
]
}
}
substring = 'value'
instances = find_substring_in_nested_dict(nested_dict, substring)
print(instances)
输出结果:
['value1', 'value2', 'value3', 'value4', 'value5', 'value6']
在这个示例中,我们定义了一个find_substring_in_nested_dict
函数,它接受一个嵌套字典和一个子字符串作为参数。函数内部使用递归的方式遍历字典的键值对,如果值是字典或列表,则继续递归查找;如果值是字符串且包含子字符串,则将该字符串添加到结果列表中。最后返回结果列表。
这个方法可以适用于包含更多列表或多个字典列表的嵌套字典,能够找到所有包含子字符串的实例。
领取专属 10元无门槛券
手把手带您无忧上云