का उपयोग करके सेट का क्रॉस उत्पाद मैंने दो सेटों के क्रॉस उत्पाद की गणना करने के लिए निम्नलिखित रिकर्सिव रूटीन लिखा है।रिकर्सन
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)]
यह संभव किसी और में पाश को दूर करने और एक ही समारोह में क्या करने की कोशिश कर उदाहरण के लिए प्रत्यावर्तन बेहतर बनाने के लिए, है। मैं समस्या को हल करने के विभिन्न तरीकों को देख रहा हूं।
संपादित करें: कुछ अंतर्निहित समाधान के साथ समाधान की तलाश नहीं है। मैं अलग-अलग रिकर्सन कैसे कर सकता हूं, और itertools.product का उपयोग नहीं कर रहा हूं।
क्या आप 'itertools.product' के बारे में जानते हैं? –
@LevLevitsky मेरा बुरा, प्रश्न संपादित किया – gizgok
मुझे लगता है कि आपके अंतिम 'गठबंधन' कॉल के सामने 'वापसी' की आवश्यकता है। – DSM