[Python में सूचियों को सॉर्ट करने की पूरी गाइड] sort() मेथड और sorted() फ़ंक्शन की विस्तृत व्याख्या

目次

1. Python में सूची क्रमबद्धता क्या है?

सूची क्रमबद्धता क्यों महत्वपूर्ण है?

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

Python सूची को क्रमबद्ध करने के लिए sort() मेथड और sorted() फ़ंक्शन प्रदान करता है। इन फ़ंक्शनों के उचित उपयोग को समझने से डेटा प्रोसेसिंग अधिक कुशल हो जाती है।

Ad

2. Python के sort() मेथड का उपयोग करके सूचियों को क्रमबद्ध करना

2.1 sort() मेथड का मूल उपयोग

sort() मेथड सूची को उसी स्थान पर क्रमबद्ध करता है, अर्थात मूल सूची में परिवर्तन होता है। इससे नई सूची बनाने की आवश्यकता नहीं रहती, जिससे मेमोरी की बचत होती है। नीचे दिया गया उदाहरण आरोही क्रम में सूची को क्रमबद्ध करने को दर्शाता है:

numbers = [5, 2, 9, 1, 5, 6]
numbers.sort()
print(numbers)  # [1, 2, 5, 5, 6, 9]

2.2 अवरोही क्रम में कैसे क्रमबद्ध करें

सूची को अवरोही क्रम में क्रमबद्ध करने के लिए reverse=True आर्ग्यूमेंट का उपयोग करें।

numbers = [5, 2, 9, 1, 5, 6]
numbers.sort(reverse=True)
print(numbers)  # [9, 6, 5, 5, 2, 1]

2.3 मेमोरी दक्षता और उपयोग के मामले

sort() मेथड विशेष रूप से तब उपयोगी होता है जब मेमोरी दक्षता प्राथमिकता हो। क्योंकि यह मूल सूची को संशोधित करता है, इसलिए बड़े डेटासेट को संभालते समय मेमोरी उपयोग को न्यूनतम रखने में यह लाभदायक है।

Ad
年収訴求

3. sorted() फ़ंक्शन का उपयोग करके सूचियों को क्रमबद्ध करना

3.1 sorted() फ़ंक्शन का मूल उपयोग

sorted() फ़ंक्शन मूल सूची को बदले बिना एक नई क्रमबद्ध सूची लौटाता है। यह तब उपयोगी होता है जब आपको मूल सूची को अपरिवर्तित रखना हो और साथ ही एक क्रमबद्ध संस्करण चाहिए। नीचे दिया गया उदाहरण sorted() का उपयोग करके आरोही क्रम में सूची को क्रमबद्ध करने को दर्शाता है:

numbers = [5, 2, 9, 1, 5, 6]
sorted_numbers = sorted(numbers)
print(sorted_numbers)  # [1, 2, 5, 5, 6, 9]
print(numbers)  # [5, 2, 9, 1, 5, 6]  # The original list remains unchanged

3.2 sort() और sorted() के बीच अंतर

मुख्य अंतर यह है कि sorted() एक नई क्रमबद्ध सूची बनाता और लौटाता है, जबकि sort() मूल सूची को संशोधित करता है। यदि आपको मूल सूची को अपरिवर्तित रखना है या विभिन्न क्रमों के साथ कई क्रमबद्ध संस्करण बनाना है, तो sorted() बेहतर विकल्प है।

Ad

4. key पैरामीटर का उपयोग करके शर्तीय क्रमबद्धता

4.1 कस्टम शर्तों के साथ क्रमबद्धता

sort() और sorted() दोनों key पैरामीटर का उपयोग करके कस्टम क्रमबद्धता की अनुमति देते हैं। उदाहरण के लिए, स्ट्रिंग्स की सूची को उनकी लंबाई के आधार पर क्रमबद्ध करने के लिए आप निम्नलिखित तरीका अपना सकते हैं:

words = ['apple', 'banana', 'cherry', 'date']
words.sort(key=len)
print(words)  # ['date', 'apple', 'banana', 'cherry']

4.2 केस-इंसेंसिटिव क्रमबद्धता

केस अंतर को अनदेखा करते हुए स्ट्रिंग्स की सूची को क्रमबद्ध करने के लिए key=str.lower का उपयोग करें।

words = ['Apple', 'banana', 'Cherry', 'date']
sorted_words = sorted(words, key=str.lower)
print(sorted_words)  # ['Apple', 'banana', 'Cherry', 'date']

4.3 लैम्ब्डा फ़ंक्शन्स का उपयोग करके उन्नत क्रमबद्धता

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

pairs = [(1, 3), (2, 1), (3, 2)]
sorted_pairs = sorted(pairs, key=lambda pair: pair[1])
print(sorted_pairs)  # [(2, 1), (3, 2), (1, 3)]

Ad
年収訴求

5. sort() और sorted() के बीच प्रदर्शन अंतर

5.1 प्रदर्शन तुलना

sort() और sorted() दोनों Timsort एल्गोरिद्म का उपयोग करते हैं, जो सामान्यतः तेज़ होता है। हालांकि, sort() सूची को उसी स्थान पर संशोधित करता है, जिससे यह मेमोरी के लिहाज़ से अधिक कुशल बनता है, विशेषकर बड़े डेटासेट के साथ काम करते समय। दूसरी ओर, sorted() एक नई सूची बनाता है, जो अधिक मेमोरी लेती है लेकिन जब आपको मूल डेटा को संरक्षित रखना हो तो यह उपयोगी है।

5.2 कब कौन सा उपयोग करें

यदि आपको बड़ी मात्रा में डेटा को कुशलतापूर्वक प्रोसेस करना है और मेमोरी उपयोग को न्यूनतम रखना है, तो sort() अनुशंसित विकल्प है। इसके विपरीत, यदि आपको मूल सूची को बरकरार रखना है और विभिन्न मानदंडों के साथ कई सॉर्टेड संस्करण बनाना है, तो sorted() बेहतर विकल्प है।

Ad

6. FAQ

6.1 What is the main difference between sort() and sorted()?

sort() मेथड मूल सूची को संशोधित करता है और None लौटाता है, जबकि sorted() फ़ंक्शन मूल सूची को बदले बिना एक नई सॉर्टेड सूची लौटाता है।

6.2 How can I sort a list in Python using complex conditions?

key पैरामीटर को लैम्ब्डा फ़ंक्शन या कस्टम फ़ंक्शन के साथ उपयोग करके, आप जटिल शर्तों के आधार पर सूचियों को सॉर्ट कर सकते हैं।

6.3 What is the difference between the reverse() method and sort(reverse=True)?

reverse() मेथड केवल सूची का क्रम उलट देता है बिना उसे सॉर्ट किए, जबकि sort(reverse=True) सूची को अवरोही क्रम में सॉर्ट करता है।

Ad