जब स्ट्रिंग के न्यूमेरिक भाग के आधार पर दी गई स्ट्रिंग्स की सूची सॉर्ट करनी हो, तो रेगुलर एक्सप्रेशन और findall मेथड का उपयोग किया जाता है।
उदाहरण
नीचे इसका प्रदर्शन दिया गया है:
import re
def my_num_sort(my_str):
return list(map(int, re.findall(r'\d+', my_str)))[0]
my_list = ["pyth42on", '14is', '32fun', '89to', 'lea78rn']
print("सूची है:")
print(my_list)
my_list.sort(key=my_num_sort)
print("परिणाम है:")
print(my_list)
आउटपुट
सूची है: ['pyth42on', '14is', '32fun', '89to', 'lea78rn'] परिणाम है: ['14is', '32fun', 'pyth42on', 'lea78rn', '89to']
व्याख्या
आवश्यक पैकेज एनवायरनमेंट में इम्पोर्ट किए जाते हैं।
एक मेथड परिभाषित की गई है जो एक स्ट्रिंग को पैरामीटर के रूप में लेती है।
यह
findallमेथड का उपयोग करके विशिष्ट पैटर्न से मेल खोजती है।इसे
mapमेथड का उपयोग करके स्ट्रिंग में बदला जाता है, और फिरlistमें।इसे मेथड के आउटपुट के रूप में लौटाया जाता है।
मेथड के बाहर, स्ट्रिंग्स की एक सूची परिभाषित की गई है।
सूची को पहले से परिभाषित मेथड को की के रूप में स्पेसिफाई करके सॉर्ट किया जाता है।
यह सूची आउटपुट के रूप में कंसोल पर प्रदर्शित होती है।