2010-06-07 11 views
15

मैं अजगर में निम्नलिखित संरचना है:मैं सूचियों की सूची (पायथन में) के सभी संभावित संयोजन कैसे ढूंढ सकता हूं?

letters = [['a', 'b', 'c'], ['p', 'q', 'r', 's'], ['j', 'k', 'l']] 

मैं क्रम में अक्षरों के सभी संभव संयोजनों है कि वे वर्तमान में मौजूद खोजने के लिए चाहते हैं। के लिए यह ऊपर के उदाहरण होगा:

apj 
apk 
apl 
aqj 
aqk 
aql 
... 
csk 
csl 

यह लगता है कि यह करने के लिए एक बहुत ही सरल बात होना चाहिए लेकिन मैं इसे समझ नहीं कर सकते हैं।

+0

हम यह मान सकते हैं कि मूल्यों को पहले से ही अलग-अलग सूचियों के भीतर का आदेश दिया जाता है? – wcm

+0

आप पाइथन का किस संस्करण का उपयोग कर रहे हैं? –

+0

@wcm: नहीं, व्यक्तिगत सूचियों में मानों का आदेश नहीं दिया जाता है। –

उत्तर

14

अजगर 2.6 में या नए आप itertools.product उपयोग कर सकते हैं:

>>> import itertools 
>>> map(''.join, itertools.product(*letters)) 
apj 
apk 
apl 
aqj 
aqk 
aql 
...etc... 
csk 
csl 
+0

और पुराने पायथन में, आप 'itertools' दस्तावेज़ों से' product' के शुद्ध पायथन कार्यान्वयन की प्रतिलिपि बना सकते हैं। –

संबंधित मुद्दे

 संबंधित मुद्दे