ठीक श्रेणी के भीतर मानों के सभी एन-लम्बाई सरणी संयोजन उत्पन्न करना ठीक है। मैं इस समारोहपायथन:
def f():
[[a,b,c] for a in range(6) for b in range(6) for c in range(6)]
जो मूल्यों के लिए सभी संयोजनों क, ख उत्पन्न करनी चाहिए करने के लिए होशियार और अधिक कॉम्पैक्ट रास्ता तलाश रहा हूँ, यह पसंद C:
[0,0,0]
[0,0,1]
[0,0,2]
...
[1,0,0]
[1,0,1]
...
और इतने पर। ..
लेकिन मुझे यह लचीला होना चाहिए, इसलिए मैं श्रेणी या पुनरावर्तनीय और जेनरेट किए गए सरणी की लंबाई भी बदल सकता हूं। रेंज एक आसान बात है:
def f(min, max):
[[a,b,c] for a in range(min,max) for b in range(min,max) for c in range(min,max)]
यह 3 लंबाई सरणियों के लिए ठीक है, लेकिन मैं एक ही श्रेणी में उनके लिए 4-लंबाई सरणियों या 7-लंबाई सरणियों बनाने का अब सोच और सभी संयोजनों उत्पन्न कर रहा हूँ।
इसे किसी भी तरह से संयोजित करने वाले सरणी या घोंसले की समझ सूची के साथ एक आसान तरीका मौजूद होना चाहिए, लेकिन मेरे समाधान मधुमक्खी बहुत जटिल हैं।
इतनी लंबी पोस्ट के लिए खेद है।
'itertools' मॉड्यूल एक' product' समारोह है कि वास्तव में क्या करता है आप देख रहे हैं 'itertools आयात उत्पाद से; उत्पाद (रेंज (6), रेंज (6), रेंज (6)) '। जो भी इटेटरेटर पिछले चक्रों को सबसे तेज़ रखा जाता है। – Elliot