मैं पायथन में स्ट्रिंग की एक सूची को वर्गीकृत करना चाहता हूं जो इस बात पर निर्भर करता है कि क्या वे ऊपरी मामले, निचले मामले या मिश्रित मामले हैं
मैं यह कैसे कर सकता हूँ?
जवाबों:
स्ट्रिंग्स पर "विधियों" की एक संख्या है। islower()और isupper()अपनी आवश्यकताओं को पूरा करना चाहिए:
>>> 'hello'.islower()
True
>>> [m for m in dir(str) if m.startswith('is')]
['isalnum', 'isalpha', 'isdigit', 'islower', 'isspace', 'istitle', 'isupper']
तार की सूची को वर्गीकृत करने के लिए उन तरीकों का उपयोग करने का एक उदाहरण यहां दिया गया है:
>>> words = ['The', 'quick', 'BROWN', 'Fox', 'jumped', 'OVER', 'the', 'Lazy', 'DOG']
>>> [word for word in words if word.islower()]
['quick', 'jumped', 'the']
>>> [word for word in words if word.isupper()]
['BROWN', 'OVER', 'DOG']
>>> [word for word in words if not word.islower() and not word.isupper()]
['The', 'Fox', 'Lazy']
मैं इसके लिए reमॉड्यूल का उपयोग करने के लिए एक चिल्लाओ देना चाहता हूं । केस संवेदनशीलता के मामले में विशेष रूप से।
हम बड़ी मात्रा में डेटा के साथ उत्पादन वातावरण में उपयोग के लिए regex का संकलन करते समय re.IGNORECASE विकल्प का उपयोग करते हैं ।
>>> import re
>>> m = ['isalnum','isalpha', 'isdigit', 'islower', 'isspace', 'istitle', 'isupper', 'ISALNUM', 'ISALPHA', 'ISDIGIT', 'ISLOWER', 'ISSPACE', 'ISTITLE', 'ISUPPER']
>>>
>>>
>>> pattern = re.compile('is')
>>>
>>> [word for word in m if pattern.match(word)]
['isalnum', 'isalpha', 'isdigit', 'islower', 'isspace', 'istitle', 'isupper']
हालांकि inस्ट्रिंग की तुलना के लिए ऑपरेटर को हमेशा इस पोस्ट में विस्तृत रूप से उपयोग करने का प्रयास करें
तेजी से आपरेशन-फिर से मैच या str
अजगर के साथ सीखने शुरू करने के लिए सबसे अच्छी पुस्तकों में से एक में भी विस्तृत है