पायथन में किसी दिए गए स्ट्रिंग के सभी संभावित क्रमपरिवर्तन ढूँढना
किसी दिए गए इनपुट स्ट्रिंग के सभी संभावित क्रमपरिवर्तन उत्पन्न करने के कार्य का एक सीधा समाधान है पायथन में. इस कार्य को शुरू करने के लिए, हम शुरू में इनपुट स्ट्रिंग पर विचार करते हैं, जिसे हम पुन: व्यवस्थित करने का प्रयास करेंगे। उदाहरण के लिए, आइए स्ट्रिंग 'स्टैक' को एक उदाहरण के रूप में लें:
x = 'stack'
हमारा लक्ष्य 'स्टैक' के अक्षरों को पुनर्व्यवस्थित करके उसका क्रमपरिवर्तन बनाना है।
l=['stack','satck','sackt'.......]
परंपरागत रूप से, कोई इस चुनौती को हल करने के लिए पुनरावृत्त दृष्टिकोण पर विचार कर सकता है, जिसमें शामिल है नए क्रमपरिवर्तन उत्पन्न करने के लिए वर्णों के जोड़े का यादृच्छिक चयन और स्थानान्तरण। हालाँकि, हम itertools मॉड्यूल द्वारा प्रदान की गई क्रमपरिवर्तन() विधि का उपयोग करके अपने कार्य को सरल बना सकते हैं। जैसा कि इसके दस्तावेज़ से पता चलता है:
itertools.permutations(iterable[, r])
Return successive r length permutations of elements in the iterable.
हमारे परिदृश्य में इस पद्धति का उपयोग करना आवश्यक है कि हम निम्नलिखित बातों का पालन करें:
from itertools import permutations
perms = [''.join(p) for p in permutations('stack')]
perms = ['stack', 'stakc', 'stcak', 'stcka', 'stkac', 'stkca', 'satck', 'satkc', 'sactk', 'sackt', 'saktc', 'sakct', 'sctak', 'sctka', 'scatk', 'scakt', 'sckta', 'sckat', 'sktac', 'sktca', 'skatc', 'skact', 'skcta', 'skcat', 'tsack', 'tsakc', 'tscak', 'tscka', 'tskac', 'tskca', 'tasck', 'taskc', 'tacsk', 'tacks', 'taksc', 'takcs', 'tcsak', 'tcska', 'tcask', 'tcaks', 'tcksa', 'tckas', 'tksac', 'tksca', 'tkasc', 'tkacs', 'tkcsa', 'tkcas', 'astck', 'astkc', 'asctk', 'asckt', 'asktc', 'askct', 'atsck', 'atskc', 'atcsk', 'atcks', 'atksc', 'atkcs', 'acstk', 'acskt', 'actsk', 'actks', 'ackst', 'ackts', 'akstc', 'aksct', 'aktsc', 'aktcs', 'akcst', 'akcts', 'cstak', 'cstka', 'csatk', 'csakt', 'cskta', 'cskat', 'ctsak', 'ctska', 'ctask', 'ctaks', 'ctksa', 'ctkas', 'castk', 'caskt', 'catsk', 'catks', 'cakst', 'cakts', 'cksta', 'cksat', 'cktsa', 'cktas', 'ckast', 'ckats', 'kstac', 'kstca', 'ksatc', 'ksact', 'kscta', 'kscat', 'ktsac', 'ktsca', 'ktasc', 'ktacs', 'ktcsa', 'ktcas', 'kastc', 'kasct', 'katsc', 'katcs', 'kacst', 'kacts', 'kcsta', 'kcsat', 'kctsa', 'kctas', 'kcast', 'kcats']
अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।
Copyright© 2022 湘ICP备2022001581号-3