इनट्स, फ्लोट्स, स्ट्रिंग्स, चार्स या किसी अन्य वर्ग की सूची को सॉर्ट करने के लिए, जिसने __cmp__ विधि को लागू किया है, सूची में सॉर्ट को कॉल करके सॉर्ट किया जा सकता है। यदि आप सूची को उल्टे क्रम (अवरोही) में क्रमबद्ध करना चाहते हैं, तो बस रिवर्स पैरामीटर में भी पास करें।
उदाहरण
my_list = [1, 5, 2, 6, 0] my_list.sort() print(my_list) my_list.sort(reverse=True) print(my_list)
आउटपुट
यह आउटपुट देगा -
[0, 1, 2, 5, 6] [6, 5, 2, 1, 0]
चूंकि टुपल्स अपरिवर्तनीय हैं, उनके पास इन-प्लेस सॉर्ट फ़ंक्शन नहीं है जिसे सीधे उन पर कॉल किया जा सकता है। आपको सॉर्ट किए गए फ़ंक्शन का उपयोग करना होगा, जो एक सॉर्ट की गई सूची देता है। यदि आप सूची को जगह में क्रमबद्ध नहीं करना चाहते हैं, तो सूची वर्ग विधि प्रकार के स्थान पर क्रमबद्ध का उपयोग करें।
उदाहरण
my_list = [1, 5, 2, 6, 0] print(sorted(my_list)) print(sorted(my_list, reverse=True))
आउटपुट
यह आउटपुट देगा -
[0, 1, 2, 5, 6] [6, 5, 2, 1, 0]
यदि आपके पास कक्षा में लागू __cmp__ पद्धति के बिना वस्तुओं की एक सूची है, तो आप 2 तत्वों की तुलना करने के तरीके को निर्दिष्ट करने के लिए मुख्य तर्क का उपयोग कर सकते हैं। उदाहरण के लिए, यदि आपके पास किसी सूची में शब्दकोश हैं और आप उन्हें कुंजी आकार के आधार पर क्रमबद्ध करना चाहते हैं, तो आप निम्न कार्य कर सकते हैं:
उदाहरण
def get_my_key(obj): return obj['size'] my_list = [{'name': "foo", 'size': 5}, {'name': "bar", 'size': 3}, {'name': "baz", 'size': 7}] my_list.sort(key=get_my_key) print(my_list)
आउटपुट
यह आउटपुट देगा -
[{'name': 'bar', 'size': 3}, {'name': 'foo', 'size': 5}, {'name': 'baz', 'size': 7}]
यह प्रत्येक प्रविष्टि के लिए निर्दिष्ट फ़ंक्शन को कॉल करेगा और प्रत्येक प्रविष्टि के लिए इस मान के आधार पर सॉर्ट करेगा। आप किसी ऑब्जेक्ट की विशेषता को वापस करके, उसी फ़ंक्शन को किसी ऑब्जेक्ट के लिए भी निर्दिष्ट कर सकते हैं।