def flatten(structure):
    if isinstance(structure, str):
        return [structure]
ret = []
if isinstance(structure, list):
    for v in structure:
        ret.extend(flatten(v))
elif isinstance(structure, dict):
    for k, v in list(structure.items()):
        ret.extend(k + '/' + f for f in flatten(v))
return ret
Свести произвольную длину элементов словаря в список путей в Python