पायथन में सूचियों को कैसे क्रमबद्ध करें

How Sort Lists Python



यह लेख पायथन में सूचियों को छांटने पर एक गाइड को कवर करेगा। एक पायथन सूची वस्तु एक या अधिक अल्पविराम से अलग किए गए आइटम का संग्रह है। यह एक चलने योग्य वस्तु है और इसके तत्वों को लूप स्टेटमेंट और अन्य अभिव्यक्तियों का उपयोग करके सूची में पुनरावृति करके पहुँचा जा सकता है। आप सॉर्ट और सॉर्ट किए गए तरीकों का उपयोग करके एक पायथन सूची को सॉर्ट कर सकते हैं, दोनों को लेख में समझाया गया है। इस आलेख के सभी कोड नमूनों का परीक्षण Ubuntu 21.04 में Python 3.9.5 के साथ किया गया है।

क्रमबद्ध विधि

सॉर्ट विधि एक सूची को इन-प्लेस करती है। दूसरे शब्दों में, यह उस सूची ऑब्जेक्ट को संशोधित करेगा जिसे आप सॉर्ट करने जा रहे हैं और इसके तत्व को पुन: व्यवस्थित करेंगे। यदि आपको मूल सूची की आवश्यकता नहीं है और सूची में तत्वों के क्रम को बदलने से कोई फर्क नहीं पड़ता है, तो यह सूची को सॉर्ट करने के लिए पायथन में सबसे कुशल तरीका है। इस उदाहरण पर विचार करें:







NS= [2, 8, 6, 4]

NS।तरह()

प्रिंट (NS)

उपरोक्त कोड नमूना चलाने के बाद, आपको निम्न आउटपुट प्राप्त करना चाहिए:



[2, 4, 6, 8]

कोड नमूने में पहला कथन एक सूची को परिभाषित करता है। इसके बाद, सूची में सॉर्ट विधि को कॉल किया जाता है। जब आप सूची प्रिंट करते हैं, तो आप देख सकते हैं कि मूल सूची का क्रम बदल दिया गया है।



डिफ़ॉल्ट रूप से, पायथन एक सूची को आरोही क्रम में क्रमबद्ध करता है। यदि आप किसी सूची को अवरोही क्रम में क्रमबद्ध करना चाहते हैं, तो रिवर्स विधि का उपयोग करें, जैसा कि नीचे दिए गए कोड नमूने में दिखाया गया है:





NS= [2, 8, 6, 4]

NS।तरह()

NS।उलटना()

प्रिंट (NS)

उपरोक्त कोड नमूना चलाने के बाद, आपको निम्न आउटपुट प्राप्त करना चाहिए:

[8, 6, 4, 2]

रिवर्स विधि भी एक नई सूची बनाए बिना एक पायथन सूची को जगह में बदल देती है।



यदि आपकी सूची में स्ट्रिंग तत्व हैं, तो उस पर सॉर्ट विधि को कॉल करने से यह वर्णानुक्रम में क्रमित हो जाएगा जहां पहले प्रतीकों और संख्याओं का आदेश दिया जाता है। नीचे दिए गए कोड नमूने पर एक नज़र डालें:

NS= ['एस', 'प्रति', 'साथ में', '4', '#']

NS।तरह()
प्रिंट (NS)

उपरोक्त कोड नमूना चलाने के बाद, आपको निम्न आउटपुट प्राप्त करना चाहिए:

['#', '4', 'प्रति', 'एस', 'साथ में']

आप स्ट्रिंग तत्वों वाली सूची पर रिवर्स विधि का भी उपयोग कर सकते हैं।

NS= ['एस', 'प्रति', 'साथ में', '4', '#']

NS।तरह()

NS।उलटना()

प्रिंट (NS)

उपरोक्त कोड नमूना चलाने के बाद, आपको निम्न आउटपुट प्राप्त करना चाहिए:

['साथ में', 'एस', 'प्रति', '4', '#']

क्रमबद्ध विधि

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

सूची1= ['एस', 'प्रति', 'साथ में', '4', '#']

सूची २= क्रमबद्ध(सूची1)

प्रिंट (सूची1,सूची २)

उपरोक्त कोड नमूना चलाने के बाद, आपको निम्न आउटपुट प्राप्त करना चाहिए:

['एस', 'प्रति', 'साथ में', '4', '#'] ['#', '4', 'प्रति', 'एस', 'साथ में']

आप आउटपुट में देख सकते हैं कि सूची 1 बरकरार है और सूची 2 में अब सॉर्ट किए गए तत्व हैं। आप इसकी ऑर्डरिंग पद्धति को बदलने के लिए सूची 2 पर रिवर्स विधि का भी उपयोग कर सकते हैं।

उल्टा तर्क

आप क्रमबद्ध सूची को अवरोही क्रम में प्राप्त करने के लिए रिवर्स तर्क का उपयोग सॉर्ट और सॉर्ट दोनों विधियों में रिवर्स फ़ंक्शन के विकल्प के रूप में कर सकते हैं। छँटाई के क्रम को बदलने के लिए बस इसे एक सही मूल्य प्रदान करें:

सूची1= ['एस', 'प्रति', 'साथ में', '4', '#']

सूची २= क्रमबद्ध(सूची1,उलटना=सत्य)

प्रिंट (सूची1,सूची २)

उपरोक्त कोड नमूना चलाने के बाद, आपको निम्न आउटपुट प्राप्त करना चाहिए:

['एस', 'प्रति', 'साथ में', '4', '#'] ['साथ में', 'एस', 'प्रति', '4', '#']

सूची के तत्वों को छाँटने के लिए अपना तर्क निर्दिष्ट करने के लिए कुंजी फ़ंक्शन का उपयोग करना

सॉर्ट और सॉर्ट किए गए दोनों तरीकों में, आप एक अतिरिक्त कुंजी तर्क निर्दिष्ट कर सकते हैं जो कॉल करने योग्य फ़ंक्शन को इसके मान के रूप में लेता है। इस मुख्य तर्क को अंतर्निहित पायथन मॉड्यूल से एक मौजूदा फ़ंक्शन सौंपा जा सकता है या आप कस्टम तर्क के साथ अपने स्वयं के फ़ंक्शन की आपूर्ति कर सकते हैं। नीचे दिए गए कोड नमूने पर एक नज़र डालें:

सूची1= ['एबीसीडीई', 'xyz', 'इज्कल']

सूची २= क्रमबद्ध(सूची1,चाभी=लेन)

प्रिंट (सूची1,सूची २)

सूची १.तरह(चाभी=लेन)

प्रिंट (सूची1)

उपरोक्त कोड नमूना चलाने के बाद, आपको निम्न आउटपुट प्राप्त करना चाहिए:

['एबीसीडीई', 'xyz', 'इज्कल'] ['xyz', 'इज्कल', 'एबीसीडीई']

['xyz', 'इज्कल', 'एबीसीडीई']

कोड नमूना सॉर्ट और सॉर्ट दोनों विधियों में कुंजी तर्क के उपयोग को दिखाता है। इसे प्रदान किए गए फ़ंक्शन को लेन कहा जाता है जो एक स्ट्रिंग ऑब्जेक्ट या एक चलने योग्य की लंबाई निर्धारित करता है। फ़ंक्शन या कॉल करने योग्य मूल रूप से केवल एक तर्क लेना चाहिए। आप इसे ब्रेसिज़ का उपयोग किए बिना मुख्य तर्क के लिए असाइन करते हैं। मुख्य तर्क को दिए गए कॉल करने योग्य फ़ंक्शन को सूची के प्रत्येक तत्व पर बुलाया जाता है। इस कॉल करने योग्य विधि से लौटाए गए मान तब सूची को सॉर्ट करने के लिए एक कुंजी के रूप में उपयोग किए जाते हैं। इसलिए, मुख्य तर्क के लिए लेन फ़ंक्शन की आपूर्ति सूची के तत्वों को उनकी लंबाई के क्रम में, यानी सबसे छोटे से सबसे लंबे समय तक क्रमबद्ध करती है। जैसा कि पहले कहा गया है, आप छँटाई पद्धति को उलटने के लिए हमेशा रिवर्स विधि का उपयोग कर सकते हैं।

आप अपने स्वयं के कस्टम फ़ंक्शन या एक-लाइनर लैम्ब्डा फ़ंक्शंस का भी उपयोग कर सकते हैं जो एकल अभिव्यक्ति का मान लौटाते हैं। नीचे दिए गए कोड नमूने पर एक नज़र डालें जहां एक सूची में फलों के बक्से की वर्तमान सूची के टुपल्स हैं:

सूची1= [('आम', 99), ('संतरा', 51), ('केला', 76)]

सूची १.तरह(चाभी=लैम्ब्डाइन्वेंटरी: इन्वेंटरी[1])

प्रिंट (सूची1)

उपरोक्त कोड नमूना चलाने के बाद, आपको निम्न आउटपुट प्राप्त करना चाहिए:

[('संतरा', 51), ('केला', 76), ('आम', 99)]

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

निष्कर्ष

ये कुछ तरीके हैं जिनका उपयोग करके आप पायथन में एक पुनरावृत्त सूची की सामग्री को सॉर्ट कर सकते हैं। मुख्य तर्क आपको अपना स्वयं का कस्टम सॉर्टिंग तर्क लिखने की अनुमति देता है, जो उन अनुप्रयोगों के लिए उपयुक्त है जिनकी अंतर्निहित सॉर्ट विधियों की तुलना में अलग-अलग ज़रूरतें हो सकती हैं।