Рекурсивная итерация по словарю в Python

  1. Рекурсивная функция. Вы можете определить рекурсивную функцию, которая обходит словарь и вложенные в него словари, используя алгоритм поиска в глубину. Вот пример:
def recursive_dict_iterator(dictionary):
    for key, value in dictionary.items():
        if isinstance(value, dict):
            recursive_dict_iterator(value)
        else:
            # Process the key-value pair
            print(key, value)
  1. Функция генератора. Вы можете использовать функцию генератора для рекурсивного получения каждой пары ключ-значение в словаре. Вот пример:
def recursive_dict_iterator(dictionary):
    for key, value in dictionary.items():
        if isinstance(value, dict):
            yield from recursive_dict_iterator(value)
        else:
            yield key, value
  1. Рекурсивное понимание списка. Вы можете использовать рекурсивное понимание списка, чтобы создать список всех пар ключ-значение в словаре. Вот пример:
def recursive_dict_iterator(dictionary):
    return [(k, v) for k, v in dictionary.items()] + \
           [item for sublist in [recursive_dict_iterator(v) for v in dictionary.values() if isinstance(v, dict)]
            for item in sublist]

Это несколько методов, которые вы можете использовать для рекурсивного перебора словаря в Python. Не забудьте при необходимости адаптировать их к вашему конкретному варианту использования.