首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何在可能包含更多列表或多个字典列表的嵌套字典中查找子字符串的所有实例

在可能包含更多列表或多个字典列表的嵌套字典中查找子字符串的所有实例,可以通过递归的方式进行查找。以下是一个示例代码,用于在嵌套字典中查找子字符串的所有实例:

代码语言:txt
复制
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

使用示例:

代码语言:txt
复制
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)

输出结果:

代码语言:txt
复制
['value1', 'value2', 'value3', 'value4', 'value5', 'value6']

在这个示例中,我们定义了一个find_substring_in_nested_dict函数,它接受一个嵌套字典和一个子字符串作为参数。函数内部使用递归的方式遍历字典的键值对,如果值是字典或列表,则继续递归查找;如果值是字符串且包含子字符串,则将该字符串添加到结果列表中。最后返回结果列表。

这个方法可以适用于包含更多列表或多个字典列表的嵌套字典,能够找到所有包含子字符串的实例。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

没有搜到相关的视频

领券