इंट्स, फ्लोट्स, स्ट्रिंग्स, चैर्स या किसी अन्य क्लास की लिस्ट को सॉर्ट करने के लिए जिसने __cmp__ मेथड लागू किया है, उसे केवल लिस्ट पर sort कॉल करके सॉर्ट किया जा सकता है। यदि आप लिस्ट को रिवर्स ऑर्डर (डिसेंडिंग) में सॉर्ट करना चाहते हैं, तो बस रिवर्स पैरामीटर भी पास करें।
उदाहरण
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]
चूंकि टपल्स इम्म्यूटेबल हैं, उनमें इन-प्लेस सॉर्ट फंक्शन नहीं होता जिसे सीधे उन पर कॉल किया जा सके। आपको sorted फंक्शन का उपयोग करना होगा, जो एक सॉर्टेड लिस्ट लौटाता है। यदि आप लिस्ट को इन-प्लेस सॉर्ट नहीं करना चाहते हैं, तो लिस्ट क्लास मेथड sort के स्थान पर sorted का उपयोग करें।
उदाहरण
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__ मेथड लागू किए बिना ऑब्जेक्ट्स की लिस्ट है, तो आप दो एलिमेंट्स की तुलना कैसे करें यह निर्दिष्ट करने के लिए key आर्गुमेंट का उपयोग कर सकते हैं। उदाहरण के लिए, यदि आपके पास लिस्ट में डिक्शनरीज हैं और आप उन्हें की size के आधार पर सॉर्ट करना चाहते हैं, तो आप निम्न कर सकते हैं:
उदाहरण
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}]
यह प्रत्येक एंट्री के लिए निर्दिष्ट फंक्शन को कॉल करेगा और प्रत्येक एंट्री के लिए इस मान के आधार पर सॉर्ट करेगा। आप किसी ऑब्जेक्ट के लिए भी वही फंक्शन निर्दिष्ट कर सकते हैं, ऑब्जेक्ट के एट्रिब्यूट को लौटाकर।