Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> Python

पायथन में लिस्ट में ऑब्जेक्ट्स को कैसे सॉर्ट करें?


इंट्स, फ्लोट्स, स्ट्रिंग्स, चैर्स या किसी अन्य क्लास की लिस्ट को सॉर्ट करने के लिए जिसने __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}]

यह प्रत्येक एंट्री के लिए निर्दिष्ट फंक्शन को कॉल करेगा और प्रत्येक एंट्री के लिए इस मान के आधार पर सॉर्ट करेगा। आप किसी ऑब्जेक्ट के लिए भी वही फंक्शन निर्दिष्ट कर सकते हैं, ऑब्जेक्ट के एट्रिब्यूट को लौटाकर।


  1. - पायथन में लिस्ट में ऑब्जेक्ट कैसे जोड़ें?

    पायथन में लिस्ट के अंत में एक सिंगल एलिमेंट जोड़ने के लिए, आप केवल append() मेथड का उपयोग कर सकते हैं। यह एक ऑब्जेक्ट स्वीकार करता है और उस ऑब्जेक्ट को उस लिस्ट के अंत में जोड़ता है जिस पर इसे कॉल किया जाता है।उदाहरणmy_list = [2, 3, 1, -4, -1, -4]\nmy_list.append(8)\nprint(my_list)आउटपुटयह आउटपुट दे

  1. - पायथन में सूची का आकार कैसे प्राप्त करें?

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

  1. - पायथन में स्ट्रिंग्स की सूची को कैसे सॉर्ट करें?

    किसी सूची को इन-प्लेस सॉर्ट करने के लिए, यानी सूची को स्वयं सॉर्ट करना और उस सूची में क्रम को बदलना, आप स्ट्रिंग्स की सूची पर sort() का उपयोग कर सकते हैं। उदाहरण के लिए, >>> a = [Hello, My, Followers] >>> a.sort() >>> print(a) [Followers, Hello, My] यदि आप मूल सूची को बरकर