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

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

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

How can I generate all possible permutations of a string in Python, including handling duplicates?

पायथन में स्ट्रिंग्स को क्रमपरिवर्तन करना

किसी दिए गए स्ट्रिंग के सभी संभावित क्रमपरिवर्तन ढूंढना एक चुनौतीपूर्ण कार्य हो सकता है। हालाँकि, पायथन itertools मॉड्यूल का उपयोग करके एक सीधा समाधान प्रदान करता है। . यह एक पुनरावर्तनीय को इनपुट के रूप में लेता है और एक जेनरेटर ऑब्जेक्ट लौटाता है जो पुनरावृत्तीय के सभी संभावित क्रमपरिवर्तनों पर पुनरावृत्त होता है।

एक स्ट्रिंग के मामले में, हम इसे सूची() फ़ंक्शन का उपयोग करके पुनरावृत्त में परिवर्तित कर सकते हैं। स्ट्रिंग के सभी संभावित क्रमपरिवर्तन प्राप्त करने के लिए, हम निम्नलिखित कोड का उपयोग करते हैं:

itertools आयात क्रमपरिवर्तन से स्ट्रिंग = 'स्टैक' perms = [''.join(p) for p in permutations(list(string))]

परिणाम स्ट्रिंग की एक सूची होगी जिसमें मूल स्ट्रिंग के सभी क्रमपरिवर्तन शामिल होंगे।

from itertools import permutations
string = 'stack'
perms = [''.join(p) for p in permutations(list(string))]

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

perms = set([''. क्रमपरिवर्तन (सूची (स्ट्रिंग)) में पी के लिए शामिल हों (पी)])

itertools.permutations() के लाभ

perms = set([''.join(p) for p in permutations(list(string))])
कुशल: विधि एक का उपयोग करती है त्वरित निष्पादन के लिए सी-आधारित कार्यान्वयन। ]

उदाहरण आउटपुट

  • स्ट्रिंग 'स्टैक' के लिए, आउटपुट सूची में निम्नलिखित क्रमपरिवर्तन होंगे:
  • ['स्टैक', 'स्टैक' ', 'stcak', 'stcka', 'stkac', 'stkca', 'satck', 'satkc', 'sactk', 'sackt', 'saktc', 'sakct', 'sctak', 'sctka', 'स्कैटक', 'स्कैट', 'स्क्टा', 'स्कैट', 'स्कटैक', 'स्क्टका', 'स्कैटक', 'स्कैक्ट', 'स्केक्टा', 'स्ककैट', 'त्सैक', 'टीएसएसीसी', 'टीएससीएके ', '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', 'actts', 'akstc', 'aksct', 'aktsc', 'aktcs', 'akcst', 'akcts', 'cstak', 'cstka', 'csatk', 'csakt', 'cskta ', 'cskat', 'ctsak', 'ctska', 'ctask', 'ctaks', 'ctksa', 'ctkas', 'castk', 'caskt', 'catsk', 'catks', 'cakst', 'कैक्ट्स', '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