for v in resources: yield v projects = { 'alpha': ['requirements.txt', 'data.json'], 'beta': ['old_data.xml', 'report.doc'], } print([res for res in iter_resources(projects)]) def flatten_nested_lists(obj): if isinstance(obj, list): for item in obj: for value in flatten_nested_lists(item): yield value else: yield obj values = ['a', ['b'], ['c', ['d', 'e', ['f', 'g'], 'h', [['i'], 'j'], [], 'k']], ['l']] print([e for e in flatten_nested_lists(values)]) ['requirements.txt', 'data.json', 'old_data.xml', 'report.doc'] ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l']