我编写了以下递归例程来计算两组的叉积。
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)]
是否有可能使递归更好,例如删除 else 中的循环并尝试在相同的函数中执行。我正在寻找解决问题的不同方法。
编辑:不寻找具有内置功能的解决方案。寻找如何以不同的方式进行递归,而不是使用 itertools.product。