Python सूची सॉर्ट: sort() मेथड र sorted() को प्रयोग र भिन्नता

目次

1. Python मा सूचीको सॉर्टिङ के हो?

सूचीको सॉर्टिङ किन महत्वपूर्ण छ?

सूचीको सॉर्टिङ डेटा व्यवस्थापन र विश्लेषणमा अत्यन्त आधारभूत र महत्वपूर्ण कार्य हो। सॉर्टिङ गर्दा डेटा देख्न सजिलो हुन्छ, खोज र तुलना गर्ने दक्षता उल्लेखनीय रूपमा बढ्छ। उदाहरणका लागि, Python प्रयोग गरेर डेटा प्रक्रिया गर्दा, संख्यात्मक वा स्ट्रिङलाई क्रमबद्ध गरेर पुनः व्यवस्थित गर्दा जटिल डेटा सजिलैसँग ह्यान्डल गर्न सकिन्छ। Python मा, सूचीको सॉर्टिङ गर्नका लागि sort() मेथड र sorted() फङ्क्शन उपलब्ध छन्। यी कार्यक्षमताहरूलाई उपयुक्त रूपमा प्रयोग गर्दा, प्रभावकारी डेटा प्रक्रिया सम्भव हुन्छ।

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() मेथड विशेष गरी स्मृति बचत गर्न चाहनुहुन्छ भने प्रभावकारी हुन्छ। मूल सूची परिवर्तन गरिने कारण, ठूलो डेटा प्रभावकारी रूपमा प्रक्रिया गर्नुपर्दा, स्मृति प्रयोग घटाउने फाइदा हुन्छ।

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]  # मूल सूची परिवर्तन हुँदैन

3.2 sort() मेथडसँगको भिन्नता

sorted() फङ्क्शनले नयाँ सूची सिर्जना गरी फिर्ता गर्ने बिन्दुमा sort() मेथडसँग फरक हुन्छ। मूल सूचीलाई

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 Lambda फलन प्रयोग गरेर उन्नत क्रमबद्धता

Lambda फलन प्रयोग गरेर, जटिल सर्तसहितको क्रमबद्धता सम्भव हुन्छ। तलको उदाहरणमा, सूचीभित्रको ट्युपललाई दोस्रो तत्वलाई आधार बनाएर क्रमबद्ध गरिएको छ।
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)]

5. sort()sorted() को प्रदर्शनको भिन्नता

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

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

5.2 प्रयोग विभाजनका बुँदाहरू

यदि ठूलो मात्रामा डेटा प्रभावकारी रूपमा प्रक्रिया गर्नुपर्छ भने, मेमोरी-प्रभावी sort() प्रयोग गर्न सिफारिस गरिन्छ। अर्कोतर्फ, मूल डेटा राख्न आवश्यक परेमा वा विभिन्न क्रमबद्ध शर्तहरूका साथ धेरै सूचीहरू बनाउनु परेमा sorted() उपयुक्त हुन्छ।

6. FAQ

6.1 sort()sorted() बीचको मुख्य भिन्नता के हो?

sort() मेथडले सूचीलाई सिधै परिवर्तन गर्छ र None फिर्ता गर्छ। अर्कोतर्फ, sorted() फङ्क्शनले नयाँ सूची फिर्ता गर्छ र मूल सूची परिवर्तन हुँदैन।

6.2 Python मा जटिल शर्तहरू प्रयोग गरेर सूचीलाई कसरी क्रमबद्ध गर्ने?

key पैरामीटरमा Lambda फङ्क्शन वा अन्य कस्टम फङ्क्शनहरू पास गरेर, जटिल शर्तहरूमा आधारित सूचीलाई क्रमबद्ध गर्न सकिन्छ।

6.3 reverse() मेथड र sort(reverse=True) बीचको भिन्नता के हो?

reverse() मेथडले सूचीको क्रमलाई केवल उल्टो बनाउँछ र क्रमबद्ध गर्दैन। sort(reverse=True) सूचीलाई अवरोही क्रममा क्रमबद्ध गर्छ।