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