Python सूची सॉर्ट() उदाहरणों के साथ

इसमें sort() विधि क्या है? Python?

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

सॉर्ट विधि का सिंटैक्स Python

सॉर्ट फ़ंक्शन का सिंटैक्स नीचे सूचीबद्ध है: –

List.sort(key=…, reverse=…)

सॉर्ट फ़ंक्शन के दो वैकल्पिक पैरामीटर हैं, जो नीचे सूचीबद्ध हैं: –

  • कुंजी:- इसका उपयोग सॉर्टिंग मानदंड के आधार पर किसी फ़ंक्शन को सॉर्ट करने के लिए किया जाता है।
  • Reverse: - यह मान को true या false के रूप में लेता है। यदि true है, तो यह कस्टम फ़ंक्शन सूची को अवरोही क्रम में सॉर्ट करता है।

सॉर्ट विधि का उपयोग करके सूची को आरोही क्रम में सॉर्ट करना Python

In Pythonसॉर्ट फ़ंक्शन डिफ़ॉल्ट रूप से किसी भी सूची को आरोही क्रम में सॉर्ट करता है। आरोही क्रम में एक सूची में सबसे कम मान बाईं ओर होता है, और सबसे अधिक मान दाईं ओर होता है।

उदाहरण:

Python कोड:

base_list=["Google","Reliance","Guru99","Content","Syntax"]
base_list.sort()
print("the base list after sorting is",base_list)

आउटपुट:

the base list after sorting is ['Content', 'Google', 'Guru99', 'Reliance', 'Syntax']

कोड स्पष्टीकरण:

  • उपरोक्त सूची एक यादृच्छिक रूप से परिभाषित स्ट्रिंग सूची है।
  • का सॉर्ट फ़ंक्शन Python यादृच्छिक सूची को आरोही क्रम में क्रमबद्ध करने में मदद करता है, जिसमें शब्द की सबसे कम लंबाई बाईं ओर और शब्द की सबसे अधिक लंबाई दाईं ओर होती है।

सूची को अवरोही क्रम में क्रमबद्ध करना

सॉर्ट फ़ंक्शन सूची को अवरोही क्रम में सॉर्ट करने की भी अनुमति देता है। इसे क्रम के रूप में परिभाषित किया जा सकता है जहां सूची उच्चतम मान से शुरू होती है और निम्नतम मान पर समाप्त होती है।

सूची को अवरोही क्रम में सॉर्ट करने के लिए सॉर्ट फ़ंक्शन के रिवर्स पैरामीटर को सत्य के रूप में निर्दिष्ट किया गया है।

आइये नीचे दिए गए उदाहरण पर नजर डालें: –

Python कोड:

base_list=[100,600,400,8000,50]
base_list.sort()
print("the base list after sorting is",base_list)
# Reverse Order
base_list.sort(reverse=True)
print("the base list after REVERSE sorting is",base_list)

आउटपुट:

the base list after sorting is [50, 100, 400, 600, 8000]
the base list after REVERSE sorting is [8000, 600, 400, 100, 50]

नोट: सुनिश्चित करें कि रिवर्स पैरामीटर के लिए शब्द “True” का असाइनमेंट किसी भी रन टाइम त्रुटि से बचने के लिए बड़े अक्षर “T” से शुरू होता है।

सॉर्ट विधि का उपयोग करके ट्यूपल्स की सूची को सॉर्ट करना Python

Python tuples अपरिवर्तनीय तत्वों का संग्रह है जो एक क्रमबद्ध अनुक्रम का अनुसरण करते हैं। Pythonके सॉर्ट फ़ंक्शन का उपयोग एक अनुकूलित फ़ंक्शन और लैम्ब्डा अभिव्यक्ति का उपयोग करके ट्यूपल्स की सूची को सॉर्ट करने के लिए किया जा सकता है।

एक कस्टमाइज्ड फ़ंक्शन बिना नाम के बनाया जा सकता है और इसे लैम्ब्डा एक्सप्रेशन द्वारा दर्शाया जा सकता है। लैम्ब्डा एक्सप्रेशन के लिए सिंटैक्स निम्नलिखित है: –

सिंटेक्स:

Lambda arguments: expression

उपरोक्त सिंटैक्स नीचे दिए गए पायथन कोड के समतुल्य है:

def name (arguments):
return expression

यहाँ एक टपल और अनुकूलित फ़ंक्शन का उदाहरण दिया गया है जो यह स्पष्ट करता है कि कुंजी पैरामीटर वाला सॉर्ट फ़ंक्शन टपल में तत्वों को सॉर्ट करने में कैसे मदद करता है:-

Python कोड:

base_list = [('Alto', 2020, 500),('MSFT', 2022, 300),('Guru99', 2019, 1070)]
def get_key(base_list):
    return base_list[2]
base_list.sort(key=get_key,reverse=True)
print("The change in base list is as follows",base_list)

आउटपुट:

The change in the base list is as follows [('Guru99', 2019, 1070), ('Alto', 2020, 500), ('MSFT', 2022, 300)]

कोड स्पष्टीकरण:

  • ट्यूपल को अवरोही क्रम में सॉर्ट करने के लिए रिवर्स पैरामीटर को सत्य के रूप में परिभाषित किया गया है।
  • अनुकूलित फ़ंक्शन ट्यूपल का दूसरा तत्व लेता है।
  • इसका उपयोग सॉर्ट फ़ंक्शन की कुंजी के रूप में किया जाता है।

आइये नीचे दिए गए उदाहरण को देखें जो लैम्ब्डा अभिव्यक्ति का उपयोग करता है:

Python कोड:

base_list = [('Alto', 2020, 500),
('MSFT', 2022, 300),
('Guru99', 2019, 1070)]
base_list.sort(key=lambda base_list:base_list[2],reverse=True)
print("The change in base list is as follows",base_list)

आउटपुट:

The change in the base list is as follows [('Guru99', 2019, 1070), ('Alto', 2020, 500), ('MSFT', 2022, 300)]

स्पष्टीकरण:

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

कुंजी पैरामीटर के रूप में Len का उपयोग करके सूची आइटम को सॉर्ट करना

Len एक इन-बिल्ट फ़ंक्शन है जो आइटम की लंबाई निर्धारित करता है। निर्धारित लंबाई का उपयोग सॉर्ट फ़ंक्शन में इंडेक्सिंग के लिए किया जा सकता है। ऐसा करने के लिए, हम Len को असाइन करते हैं Python सॉर्ट फ़ंक्शन का कुंजी पैरामीटर.

निम्नलिखित Python कोड यह दर्शाता है कि सॉर्ट फ़ंक्शन के साथ Len फ़ंक्शन का उपयोग कैसे किया जाता है।

Python कोड:

base_list=["Alto", "Guru99", "Python", "Google", "Java"]
base_list.sort(key=len)
print("The sorted list based on length:",base_list)

आउटपुट:

The sorted list based on length: ['Alto', 'Java', 'Guru99', 'Python', 'Google']

कोड स्पष्टीकरण:

Len का उपयोग करके सूची आइटम सॉर्ट करना

  • तत्व की लंबाई सूची को आरोही क्रम में व्यवस्थित करने के लिए कुंजी पैरामीटर के लिए एक सूचकांक बन जाती है।
  • Len फ़ंक्शन आधार सूची में मौजूद प्रत्येक तत्व की लंबाई का अनुमान लगाता है।
  • यह सबसे छोटे तत्व को बायीं ओर तथा सबसे बड़े तत्व को दायीं ओर रखता है।
  • यहां, शब्द आल्टो और जावा की लंबाई 4 है, जिन्हें सूची में पहले स्थान पर व्यवस्थित किया गया है, उसके बाद गुरु99 है, जिसकी लंबाई 6 है।

यह उदाहरण सॉर्ट फ़ंक्शन में रिवर्स पैरामीटर की अवधारणा को दर्शाता है जैसा कि नीचे दिखाया गया है: -

Python कोड:

base_list=["Alto", "Guru99", "Python", "Google", "Java"]
base_list.sort(key=len,reverse=True)
print("The sorted list based on length:",base_list)

आउटपुट:

The sorted list based on length: ['Guru99', 'Python', 'Google', 'Alto', 'Java']

मुख्य पैरामीटर के रूप में उपयोगकर्ता-परिभाषित फ़ंक्शन का उपयोग करके सूची आइटम को सॉर्ट करना

आप सूची को सॉर्ट करने के लिए कुंजी पैरामीटर के रूप में उपयोगकर्ता-परिभाषित फ़ंक्शन का भी उपयोग कर सकते हैं। यहाँ एक उदाहरण दिया गया है: –

Python कोड:

base_list = [{'Example':'Python','year':1991},{'Example':'Alto','year':2014},{'Example':'Guru99', 'year':1995},
{'Example':'Google','year':1985},{'Example':'Apple','year':2007},{'Example':'Emails','year':2010},]
def get_year(element):
    return element['year']
base_list.sort(key=get_year)
print("The base list after sorting using explicit criteria",base_list)

आउटपुट:

The base list after sorting using explicit criteria [{'Example': 'Google', 'year': 1985}, {'Example': 'Python', 'year': 1991}, {'Example': 'Guru99', 'year': 1995}, {'Example': 'Apple', 'year': 2007}, {'Example': 'Emails', 'year': 2010}, {'Example': 'Alto', 'year': 2014}]

कोड स्पष्टीकरण:

  • वर्ष लौटाने के लिए एक उपयोगकर्ता-परिभाषित फ़ंक्शन बनाया गया है
  • कुंजी पैरामीटर उपयोगकर्ता-परिभाषित फ़ंक्शन को मानदंड के रूप में लेता है।
  • सॉर्ट फ़ंक्शन सूची को तत्व “वर्ष” के मान के आधार पर आरोही क्रम में व्यवस्थित करेगा।

सॉर्ट विधि और सॉर्टेड विधि के बीच अंतर Python

अंतरों को संक्षेप में बताने से पहले, आइए Sorted विधि के वाक्यविन्यास को समझें।

Python सिंटेक्स:

sorted (list_name, reverse=…., key=..)

कोड स्पष्टीकरण:

  • सॉर्टेड फ़ंक्शन सूची को आरोही क्रम या अवरोही क्रम में सॉर्ट करता है।
  • फ़ंक्शन तीन पैरामीटर स्वीकार करता है, जिनमें से दो पैरामीटर वैकल्पिक प्रकार के होते हैं और एक पैरामीटर आवश्यक प्रकार का होता है।
  • Sorted विधि का उपयोग करते समय पैरामीटर list_name आवश्यक है।
  • सॉर्टेड विधि किसी भी प्रकार की पुनरावृत्तीय सूची को इनपुट के रूप में ले सकती है।
  • कुंजी पैरामीटर और रिवर्स पैरामीटर सॉर्टेड विधि के अंतर्गत वैकल्पिक पैरामीटर हैं Python.

यहाँ sort और sorted फ़ंक्शन का उपयोग करने का एक उदाहरण दिया गया है Python जैसा कि नीचे दिया गया है: -

Python कोड:

#Use of the Sorted method
Base_list=[11,10,9,8,7,6]
print("the original list is",Base_list)
New_list=sorted(Base_list)
print("the New list using sorted method is",New_list)
#Use of the Sort method
Base_list=[11,10,9,8,7,6]
print("the original list is",Base_list)
New_list=Base_list.sort()
print("the New list using sort method is",New_list)

आउटपुट:

the original list is [11, 10, 9, 8, 7, 6]
the new list using the sorted method is [6, 7, 8, 9, 10, 11]
the original list is [11, 10, 9, 8, 7, 6]
the new list using the sort method is None

कोड स्पष्टीकरण:

  • मूल सूची को सॉर्टेड फ़ंक्शन के लिए आवश्यक पैरामीटर के रूप में पास किया जाता है।
  • सॉर्टेड विधि मूल सूची के अलावा एक नई सूची लौटाती है।
  • चूंकि sorted विधि में कोई अतिरिक्त पैरामीटर पास नहीं किया जाता है, इसलिए नई सूची डिफ़ॉल्ट रूप से आरोही क्रम में सॉर्ट की जाती है।
  • सॉर्ट फ़ंक्शन कोई नई सूची नहीं बनाता है.

प्रमुख समानताएं और अंतर निम्नलिखित हैं: –

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

सॉर्टेड विधि या सॉर्ट विधि का उपयोग कब करें?

आइए एक उदाहरण लेते हैं जिसमें रेस डेटा को सॉर्ट करने की आवश्यकता होती है। प्रोग्राम बिब नंबर और रेस खत्म करने में लगने वाले सेकंड में समय का उपयोग करता है।

Python कोड:

from collections import namedtuple
Base = namedtuple('Runner', 'bibnumber duration')
blist = []
blist.append(Base('8567', 1500))
blist.append(Base('5234', 1420))
blist.append(Base('2344', 1600))
blist.append(Base('2342', 1490))
blist.append(Base('23444', 1620))
blist.append(Base('6674', 1906))
print("original list",blist)
blist.sort(key=lambda x: getattr(x, 'duration'))
top_five_result = blist[:5]
print("Results using sort function",top_five_result)
r_blist=sorted(blist,key=lambda x: getattr(x, 'duration'))
top_five_result = r_blist[:5]
print("Results using sorted function",top_five_result)

आउटपुट:

original list [Runner(bibnumber='8567', duration=1500), Runner(bibnumber='5234', duration=1420), Runner(bibnumber='2344', duration=1600), Runner(bibnumber='2342', duration=1490), Runner(bibnumber='23444', duration=1620), Runner(bibnumber='6674', duration=1906)]

Results using sort function [Runner(bibnumber='5234', duration=1420), Runner(bibnumber='2342', duration=1490), Runner(bibnumber='8567', duration=1500), Runner(bibnumber='2344', duration=1600), Runner(bibnumber='23444', duration=1620)]

Results using sorted function [Runner(bibnumber='5234', duration=1420), Runner(bibnumber='2342', duration=1490), Runner(bibnumber='8567', duration=1500), Runner(bibnumber='2344', duration=1600), Runner(bibnumber='23444', duration=1620)]

कोड स्पष्टीकरण:

  • आधार सूची को सॉर्ट फ़ंक्शन और सॉर्टेड फ़ंक्शन दोनों का उपयोग करके सॉर्ट किया जाता है।
  • सॉर्ट फ़ंक्शन लागू होने पर आधार सूची खो जाती है.
  • सॉर्ट फ़ंक्शन को मूल डेटा सेट पर लागू नहीं किया जाना चाहिए। इसका उपयोग तब किया जाना चाहिए जब मूल डेटा सेट का कॉपी संस्करण हो।
  • सॉर्टेड फ़ंक्शन मूल सूची को बनाए रखता है। यह उसे ओवरराइड नहीं करता है।
  • इससे बेहतर पता लगाने की क्षमता और प्रभावी डेटा प्रबंधन संभव हो पाता है।

निष्कर्ष

  • सॉर्ट फ़ंक्शन पायथन में संख्यात्मक और स्ट्रिंग सूची को सॉर्ट करने में मदद करता है।
  • यह ट्यूपल्स को सॉर्ट करने में भी मदद कर सकता है।
  • Reverse और key फ़ंक्शन के वैकल्पिक पैरामीटर हैं.
  • यदि पृथक सूची रखने तथा साथ ही मूल सूची रखने की आवश्यकता हो, तो सॉर्टेड फ़ंक्शन का उपयोग किया जाना चाहिए, अन्यथा, अनुकूलित मेमोरी उपयोग प्राप्त करने के लिए सॉर्ट फ़ंक्शन का उपयोग किया जाना चाहिए।