try:
    for v in d.values():
        for nested_v in flatten(v):
            yield nested_v
except AttributeError:
    for list_v in d:
        yield list_v
Свести словарь словарей (глубина 2 уровня) списков в Python