"यदि कोई कर्मचारी अपना काम अच्छी तरह से करना चाहता है, तो उसे पहले अपने औजारों को तेज करना होगा।" - कन्फ्यूशियस, "द एनालेक्ट्स ऑफ कन्फ्यूशियस। लू लिंगगोंग"
मुखपृष्ठ > प्रोग्रामिंग > आप `itertools` मॉड्यूल का उपयोग करके पायथन में किसी दिए गए स्ट्रिंग के सभी संभावित क्रमपरिवर्तन कैसे उत्पन्न करते हैं, और आप संभावित डुप्लिकेट को कैसे संभालते हैं?

आप `itertools` मॉड्यूल का उपयोग करके पायथन में किसी दिए गए स्ट्रिंग के सभी संभावित क्रमपरिवर्तन कैसे उत्पन्न करते हैं, और आप संभावित डुप्लिकेट को कैसे संभालते हैं?

2024-11-03 को प्रकाशित
ब्राउज़ करें:586

How do you generate all possible permutations of a given string in Python using the `itertools` module, and how do you handle potential duplicates?

पायथन में किसी दिए गए स्ट्रिंग के सभी संभावित क्रमपरिवर्तन ढूँढना

किसी दिए गए इनपुट स्ट्रिंग के सभी संभावित क्रमपरिवर्तन उत्पन्न करने के कार्य का एक सीधा समाधान है पायथन में. इस कार्य को शुरू करने के लिए, हम शुरू में इनपुट स्ट्रिंग पर विचार करते हैं, जिसे हम पुन: व्यवस्थित करने का प्रयास करेंगे। उदाहरण के लिए, आइए स्ट्रिंग 'स्टैक' को एक उदाहरण के रूप में लें:

x = 'stack'

हमारा लक्ष्य 'स्टैक' के अक्षरों को पुनर्व्यवस्थित करके उसका क्रमपरिवर्तन बनाना है।

l=['stack','satck','sackt'.......]

परंपरागत रूप से, कोई इस चुनौती को हल करने के लिए पुनरावृत्त दृष्टिकोण पर विचार कर सकता है, जिसमें शामिल है नए क्रमपरिवर्तन उत्पन्न करने के लिए वर्णों के जोड़े का यादृच्छिक चयन और स्थानान्तरण। हालाँकि, हम itertools मॉड्यूल द्वारा प्रदान की गई क्रमपरिवर्तन() विधि का उपयोग करके अपने कार्य को सरल बना सकते हैं। जैसा कि इसके दस्तावेज़ से पता चलता है:

itertools.permutations(iterable[, r])
Return successive r length permutations of elements in the iterable.

हमारे परिदृश्य में इस पद्धति का उपयोग करना आवश्यक है कि हम निम्नलिखित बातों का पालन करें:

  1. यदि r को छोड़ दिया जाता है या किसी पर सेट नहीं किया जाता है, तो यह सभी संभावित क्रमपरिवर्तन की पीढ़ी को सुनिश्चित करते हुए, पुनरावर्तनीय की लंबाई में डिफ़ॉल्ट हो जाता है।
  2. क्रमपरिवर्तन शब्दकोषीय क्रम में उत्सर्जित होते हैं। इस प्रकार, यदि इनपुट पुनरावर्तनीय को क्रमबद्ध किया जाता है, तो क्रमपरिवर्तन टुपल्स को क्रमबद्ध तरीके से उत्पादित किया जाएगा। &&&]itertools से क्रमपरिवर्तन आयात करें perms = [''.join(p) for p in permutations('stack')]
यह दृष्टिकोण निम्नलिखित क्रमपरिवर्तन उत्पन्न करता है:

['stack', 'stackc', 'stcak ', 'stcka', 'stkac', 'stkca', 'satck', 'satkc', 'sactk', 'sackt', 'saktc', 'sakct', 'sctak', 'sctka', 'स्कैटक', 'स्कैट', 'स्कैटा', 'स्कैट', 'स्कटैक', 'स्कटका', 'स्कैटक', 'skact', 'skcta', 'skcat', 'tsack', 'tsakc', 'tscak', 'tscka', 'tskac', 'tskca', 'task', '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', 'एक्टक्स', 'एकेएसटी', 'एकेटीएस', 'एकेएसटीसी', 'एकेएससीटी', 'एकेटीएससी', 'एकेटीसी', 'akcst', 'akcts', 'cstak', 'cstka', 'csatk', 'csakt', 'cskta', 'cskat', 'ctsak', 'ctska', 'ctask', 'ctaks', 'ctksa', 'ctkas', 'कास्टक', 'कास्कट', 'कैटस्क', 'कैटक्स', 'कैक्स्ट', 'कैक्ट्स', 'कस्टा', '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']
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