उपयोग itertools.product()
:
>>> import itertools
>>> map(''.join, itertools.product('ABC', repeat=3))
['AAA', 'AAB', 'AAC', 'ABA', 'ABB', 'ABC', 'ACA', 'ACB', 'ACC', 'BAA', 'BAB', 'BAC', 'BBA', 'BBB', 'BBC', 'BCA', 'BCB', 'BCC', 'CAA', 'CAB', 'CAC', 'CBA', 'CBB', 'CBC', 'CCA', 'CCB', 'CCC']
ध्यान दें कि सभी संयोजनों से युक्त एक सूची बनाने के लंबे समय तक स्ट्रिंग्स के लिए बहुत अक्षम है - के बजाय उन पर पुनरावृति:
for string in itertools.imap(''.join, itertools.product('ABC', repeat=3)):
print string
सभी पात्रों प्राप्त करने के लिए और संख्या string.uppercase + string.lowercase + string.digits
का उपयोग करें।
>>> from itertools import product
>>> from string import ascii_uppercase
>>> for combo in product(ascii_uppercase, repeat=3):
... print ''.join(combo)
...
AAA
AAB
...
ZZY
ZZZ
itertools.combinations()
और itertools.permutations()
अपने काम के लिए सही उपकरण नहीं हैं:
पायथन 3 बदल गया ताकि बिल्टिन 'नक्शा' अब एक पुनरावर्तक लौटाए। 'Itertools.imap' का उपयोग करने का दूसरा सुझाव तब तक जरूरी नहीं है जब तक कि आप पाइथन का संस्करण <3.0 नहीं हैं। – ngoue
प्रश्न टैग किया गया है [टैग: पायथन-2.7] ... – ThiefMaster
आप सही हैं, महोदय! – ngoue