Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> Python

पायथन में दी गई स्ट्रिंग के सभी संभावित क्रमपरिवर्तन कैसे खोजें?

दी गई स्ट्रिंग के सभी संभावित क्रमपरिवर्तन खोजने के लिए, आप itertools मॉड्यूल का उपयोग कर सकते हैं जिसमें एक उपयोगी मेथड permutations(iterable[, r]) होता है। यह मेथड इटरेबल में तत्वों के क्रमिक r-लंबाई क्रमपरिवर्तनों को टुपल्स के रूप में लौटाता है।

सभी क्रमपरिवर्तनों को स्ट्रिंग के रूप में प्राप्त करने के लिए, आपको फ़ंक्शन कॉल पर पुनरावृति करके टुपल्स को जोड़ना होगा। उदाहरण के लिए:

>>> from itertools import permutations
>>> print([''.join(p) for p in permutations('dune')])
['dune', 'duen', 'dnue', 'dneu', 'deun', 'denu', 'udne', 'uden', 'unde', 'uned', 'uedn', 'uend', 'ndue', 'ndeu', 'nude', 'nued', 'nedu', 'neud', 'edun', 'ednu', 'eudn', 'eund', 'endu', 'enud']

यदि आप बिल्ट-इन मेथड का उपयोग नहीं करना चाहते, बल्कि अपना खुद का बनाना चाहते हैं, तो आप निम्न पुनरावर्ती समाधान का उपयोग कर सकते हैं:

def permutations(string, step=0):
    if step == len(string):
        # हम अंत तक पहुंच गए हैं, क्रमपरिवर्तन प्रिंट करें
        print("".join(string))
    for i in range(step, len(string)):
        # स्ट्रिंग को कॉपी करें (सरणी के रूप में स्टोर करें)
        string_copy = [c for c in string]
        # वर्तमान इंडेक्स को स्टेप के साथ स्वैप करें
        string_copy[step], string_copy[i] = string_copy[i], string_copy[step]
        # स्ट्रिंग के उस हिस्से पर पुनरावृत्ति करें जिसे अभी तक स्वैप नहीं किया गया है
        permutations(string_copy, step + 1)

print(permutations('one'))

आउटपुट:

one
oen
noe
neo
eno
eon
None
  1. पायथन प्रोग्राम: दी गई स्ट्रिंग के सभी क्रमपरिवर्तन प्रिंट करें पायथन प्रोग्राम: दी गई स्ट्रिंग के सभी क्रमपरिवर्तन प्रिंट करें

    इस लेख में हम दी गई समस्या के समाधान के बारे में जानेंगे। समस्या कथन हमें एक स्ट्रिंग दी गई है, हमें स्ट्रिंग के सभी संभावित क्रमपरिवर्तन प्रदर्शित करने हैं। उदाहरण # रूपांतरण def toString(List): return .join(List) # क्रमपरिवर्तन def permute(a, l, r): if l == r: print(toString(a))

  1. - पायथन में लिस्ट के सभी परम्यूटेशन कैसे जनरेट करें?

    आप पायथन में लिस्ट के सभी परम्यूटेशन खोजने के लिए itertools पैकेज के permutations मेथड का उपयोग कर सकते हैं। आप इसका उपयोग इस प्रकार कर सकते हैं: उदाहरण import itertools perms = list(itertools.permutations([1, 2, 3])) print(perms) आउटपुट यह आउटपुट देगा: [(1, 2, 3), (1, 3, 2), (2, 1, 3), (2, 3, 1),

  1. - पायथन में दी गई स्ट्रिंग के सभी संभावित क्रमपरिवर्तन कैसे खोजें?

    दी गई स्ट्रिंग के सभी संभावित क्रमपरिवर्तन खोजने के लिए, आप itertools मॉड्यूल का उपयोग कर सकते हैं जिसमें एक उपयोगी मेथड permutations(iterable[, r]) होता है। यह मेथड इटरेबल में तत्वों के क्रमिक r-लंबाई क्रमपरिवर्तनों को टुपल्स के रूप में लौटाता है। सभी क्रमपरिवर्तनों को स्ट्रिंग के रूप में प्राप्त क