जब दो स्ट्रिंग्स में समान वर्ण होते हैं लेकिन अलग-अलग क्रम में व्यवस्थित होते हैं तो उन्हें विपर्यय कहा जाता है। उदाहरण के लिए, स्पॉट और पोस्ट विपर्यय हैं क्योंकि उनके समान अक्षर हैं जो अलग-अलग शब्द बनाते हैं। इस लेख में हम देखेंगे कि हम कैसे जांच सकते हैं कि दो तार एक दूसरे के आरेख हैं या नहीं।
इसके लिए हम संग्रह नामक पायथन मॉड्यूल का उपयोग करते हैं। इसका उपयोग डेटा के संग्रह को संग्रहीत करने के लिए किया जाता है, जैसे सूची, तानाशाही, सेट, टपल आदि। ये अंतर्निहित संग्रह के उदाहरण हैं। फ़ंक्शन काउंटर () बस एक संग्रह में एक तत्व मौजूद होने की संख्या की गणना करता है और परिणाम को तत्व और उसकी गिनती दिखाते हुए एक शब्दकोश के रूप में देता है। इसलिए, यदि दो स्ट्रिंग्स में मौजूद प्रत्येक वर्ण की मिलान संख्या है, तो हम उन्हें विपर्यय के रूप में मानते हैं।
उदाहरण
संग्रह से आयात काउंटरस्ट्रिंगए ='टॉप स्पॉट'स्ट्रिंगबी ='पॉट पोस्ट'# तत्वों को एडिक्शनरीप्रिंट के रूप में प्रिंट करें काउंटर(स्ट्रिंगए)प्रिंट काउंटर(स्ट्रिंगबी)# शब्दकोशों की तुलना करेंयदि काउंटर(स्ट्रिंगए)==काउंटर(स्ट्रिंगबी):प्रिंट' StringA और StringB विपर्ययण हैं'
आउटपुट
उपरोक्त कोड को चलाने से हमें निम्नलिखित परिणाम मिलते हैं -
काउंटर ({'पी':2, 'टी':2, 'ओ':2, 'एस':1, '':1}) काउंटर ({'पी':2, 'टी':2 , 'o':2, 's':1, '':1})StringA और StringB एनाग्राम हैं