Kreuzprodukt von Mengen unter Verwendung von Rekursion

Ich habe die folgende rekursive Routine geschrieben, um das Kreuzprodukt zweier Mengen zu berechnen.

def combine(input1,input2,output):
    if len(input2)==0:
        return output
    else:
       for num in input1:
           output.append((num,input2[0]))
       combine(input1,input2[1:],output)

input1=[1 2 5]
input2=[2 3]
output=[(1,2), (1,3), (2,2),(2,3),(5,2),(5,3)]

Ist es möglich, die Rekursion zu verbessern, z. B. die Schleife in else zu entfernen und zu versuchen, dieselbe Funktion auszuführen? Ich suche nach verschiedenen Wegen, um das Problem zu lösen.

Bearbeiten: Nicht auf der Suche nach einer Lösung mit etwas eingebautem. Auf der Suche nach Möglichkeiten, wie ich eine Rekursion anders durchführen und nicht itertools.product verwenden kann.

Antworten auf die Frage(2)

Ihre Antwort auf die Frage