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