अजगर को क्रमबद्ध किया गया ()

क्रमबद्ध () फ़ंक्शन आइटरों से क्रमबद्ध सूची को पुनरावृत्त में लौटाता है।

sorted()समारोह सॉर्ट करता एक विशेष क्रम में एक दिया iterable के तत्वों (या तो आरोही या अवरोही ) और रिटर्न एक सूची के रूप iterable अनुसार क्रमबद्ध।

sorted()फ़ंक्शन का सिंटैक्स है:

 क्रमबद्ध (पुनरावृत्त, कुंजी = कोई नहीं, उल्टा = गलत)

क्रमबद्ध () फ़ंक्शन के लिए पैरामीटर

sorted() अधिकतम तीन पैरामीटर ले सकते हैं:

  • चलने योग्य - एक अनुक्रम (स्ट्रिंग, टपल, सूची) या संग्रह (सेट, शब्दकोश, जमे हुए सेट) या कोई अन्य पुनरावृत्त।
  • रिवर्स (वैकल्पिक) - यदि True, सॉर्ट की गई सूची उलट है (या अवरोही क्रम में सॉर्ट की गई है)। Falseउपलब्ध न कराने पर चूक ।
  • key (ऑप्शनल) - एक फंक्शन जो सॉर्ट की तुलना के लिए एक कुंजी के रूप में कार्य करता है। के लिए चूक None

उदाहरण 1: क्रमबद्ध स्ट्रिंग, सूची और टपल

 # vowels list py_list = ('e', 'a', 'u', 'o', 'i') print(sorted(py_list)) # string py_string = 'Python' print(sorted(py_string)) # vowels tuple py_tuple = ('e', 'a', 'u', 'o', 'i') print(sorted(py_tuple))

आउटपुट

 ('a', 'e', ​​'i', 'o', 'u') ('P', 'h', 'n', 'o', 't', 'y') ('a') , 'ई', 'आई', 'ओ', 'यू')

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

नोट: एक सूची में भी सॉर्ट () विधि है जो उसी तरह से करती है sorted()। अंतर केवल इतना है कि sort()विधि किसी भी मूल्य को वापस नहीं करती है और मूल सूची को बदल देती है।

उदाहरण 2: अवरोही क्रम में क्रमबद्ध करें

sorted()समारोह एक को स्वीकार करता है reverseएक वैकल्पिक तर्क के रूप में पैरामीटर।

reverse = Trueअवरोही क्रम में चलने योग्य को सेट करना ।

 # set py_set = ('e', 'a', 'u', 'o', 'i') print(sorted(py_set, reverse=True)) # dictionary py_dict = ('e': 1, 'a': 2, 'u': 3, 'o': 4, 'i': 5) print(sorted(py_dict, reverse=True)) # frozen set frozen_set = frozenset(('e', 'a', 'u', 'o', 'i')) print(sorted(frozen_set, reverse=True))

आउटपुट

 ('u', 'o', 'i', 'e', ​​'a') ('u', 'o', 'i', 'e', ​​'a') ('u', 'o') , 'i', 'e', ​​'a')

पायथन में कुंजी पैरामीटर सॉर्ट किया गया () फ़ंक्शन

यदि आप छँटाई के लिए अपना खुद का कार्यान्वयन चाहते हैं, तो sorted()एक keyफ़ंक्शन को एक वैकल्पिक पैरामीटर के रूप में भी स्वीकार करता है ।

कुंजी फ़ंक्शन के दिए गए मान के आधार पर, आप दिए गए पुनरावृत्त को सॉर्ट कर सकते हैं।

 क्रमबद्ध (पुनरावृत्त, कुंजी = लेन)

यहाँ, len()किसी ऑब्जेक्ट की लंबाई को गिनने के लिए पायथन का इन-बिल्ट फ़ंक्शन है।

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

उदाहरण 3: सॉर्ट की गई सूची का उपयोग करके सॉर्ट करें () एक प्रमुख फ़ंक्शन है

 # take the second element for sort def take_second(elem): return elem(1) # random list random = ((2, 2), (3, 4), (4, 1), (1, 3)) # sort list with key sorted_list = sorted(random, key=take_second) # print list print('Sorted list:', sorted_list)

आउटपुट

 क्रमबद्ध सूची: (4, 1), (2, 2), (1, 3), (3, 4))

उदाहरण 4: कई कुंजियों के साथ छंटनी

हमें लगता है कि हम निम्नलिखित सूची है:

 # Nested list of student's info in a Science Olympiad # List elements: (Student's Name, Marks out of 100, Age) participant_list = ( ('Alison', 50, 18), ('Terence', 75, 12), ('David', 75, 20), ('Jimmy', 90, 22), ('John', 45, 12) )

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

हम एक नंबर के बजाय टपल लौटाकर कई कुंजियों के साथ इस प्रकार की छँटाई कर सकते हैं।

दो टुपल्स की तुलना पहले से शुरू होने वाले उनके तत्वों की तुलना करके की जा सकती है। यदि एक टाई है (तत्व बराबर हैं), तो दूसरे तत्व की तुलना की जाती है, और इसी तरह।

 >>> (1,3)> (1, 4) False >>> (1, 4) >> (1, 4, 1) < (2, 1) True

आइए इस तर्क का उपयोग अपने छँटाई वाले तर्क के निर्माण में करें।

 # Nested list of student's info in a Science Olympiad # List elements: (Student's Name, Marks out of 100 , Age) participant_list = ( ('Alison', 50, 18), ('Terence', 75, 12), ('David', 75, 20), ('Jimmy', 90, 22), ('John', 45, 12) ) def sorter(item): # Since highest marks first, least error = most marks error = 100 - item(1) age = item(2) return (error, age) sorted_list = sorted(participant_list, key=sorter) print(sorted_list)

आउटपुट

 (('जिमी', 90, 22), ('टेरेंस', 75, 12), ('डेविड', 75, 20), ('एलिसन', 50, 18), ('जॉन', 45, 12) )

चूंकि सॉर्टिंग लॉजिक फ़ंक्शन छोटा है और एक पंक्ति में फिट बैठता है, इसलिए lambdaफ़ंक्शन का उपयोग keyएक अलग फ़ंक्शन नाम को पारित करने के बजाय अंदर किया जाता है ।

उपरोक्त कार्यक्रम lambdaको निम्नलिखित तरीके से फ़ंक्शन का उपयोग करके लिखा जा सकता है :

 # Nested list of student's info in a Science Olympiad # List elements: (Student's Name, Marks out of 100 , Age) participant_list = ( ('Alison', 50, 18), ('Terence', 75, 12), ('David', 75, 20), ('Jimmy', 90, 22), ('John', 45, 12) ) sorted_list = sorted(participant_list, key=lambda item: (100-item(1), item(2))) print(sorted_list)

आउटपुट

 (('जिमी', 90, 22), ('टेरेंस', 75, 12), ('डेविड', 75, 20), ('एलिसन', 50, 18), ('जॉन', 45, 12) )

लैम्ब्डा कार्यों के बारे में अधिक जानने के लिए, पायथन लैम्बडा फंक्शंस पर जाएँ।

दिलचस्प लेख...