Wie funktioniert 'yield' in diesem Permutationsgenerator?

def perm_generator(lst):
    if len(lst) == 1:
        yield lst
    else:
        for i in range(len(lst)):
            for perm in perm_generator(lst[:i] + lst[i+1:]):
                yield [lst[i]] + perm

Dieser Code hat mich abgehört, da ich nicht verstehe, wie dieyields miteinander verbinden. Mein Verständnis war dasyield benimmt sich wie einreturn, aber es stoppt vorübergehend, bis es erneut aufgerufen wird. Wie mache ich das?yields Arbeit?

Antworten auf die Frage(1)

Ihre Antwort auf die Frage