समस्या विवरण
शब्दों को लेक्सिकोग्राफिकल क्रम में सॉर्ट करने का अर्थ है कि हम उन्हें शब्द के पहले अक्षर के अनुसार व्यवस्थित करना चाहते हैं। फिर जिन शब्दों का पहला अक्षर समान है, हम उन्हें उस समूह के भीतर दूसरे अक्षर के अनुसार व्यवस्थित करते हैं और इसी तरह जैसे भाषा के शब्दकोश में होता है (डेटा संरचना नहीं)।
पायथन में इसके लिए 2 फंक्शन हैं, sort और sorted, आइए देखें कि इनमें से प्रत्येक मेथड का उपयोग कैसे और कब करना है।
इन-प्लेस सॉर्टिंग
जब हम सरणी/सूची को इन-प्लेस सॉर्ट करना चाहते हैं, यानी वर्तमान संरचना में ही क्रम बदलना, तो हम सीधे sort मेथड का उपयोग कर सकते हैं।
my_arr = ["hello", "apple", "actor", "people", "dog"]
print(my_arr)
my_arr.sort()
print(my_arr)
यह आउटपुट देगा:
['hello', 'apple', 'actor', 'people', 'dog']
['actor', 'apple', 'dog', 'hello', 'people']
जैसा कि आप यहां देख सकते हैं, मूल सरणी my_arr संशोधित हो गई है। यदि आप इस सरणी को जैसा है वैसा रखना चाहते हैं और सॉर्ट करते समय एक नई सरणी बनाना चाहते हैं, तो आप sorted मेथड का उपयोग कर सकते हैं।
उदाहरण
my_arr = ["hello", "apple", "actor", "people", "dog"]
print(my_arr)
# सॉर्टेड मेथड का उपयोग करके एक नई सरणी बनाएं
new_arr = sorted(my_arr)
print(new_arr)
# इस बार, my_arr इन-प्लेस नहीं बदलेगा, बल्कि यह सॉर्ट हो जाएगा
# और एक नया इंस्टेंस new_arr को असाइन किया जाएगा
print(my_arr)
आउटपुट
['hello', 'apple', 'actor', 'people', 'dog']
['actor', 'apple', 'dog', 'hello', 'people']
['hello', 'apple', 'actor', 'people', 'dog']
जैसा कि आप यहां देख सकते हैं, मूल सरणी नहीं बदली।