2011-11-22 17 views
58

में मिश्रित मामला है मैं अजगर में स्ट्रिंग के आधार पर की एक सूची वर्गीकृत करने के लिए चाहते हैं वे अपर केस, लोअर केस, या मिश्रित मामले हैं कि क्याजांच करें कि स्ट्रिंग ऊपरी, कम, या अजगर

कैसे मैं यह कर सकता है?

+1

पर विचार करें कि पत्र नहीं हैं (1) वर्णों की संभावनाओं और islower() और isupper() अपनी आवश्यकताओं को पूरा करना चाहिए (2) पत्र जिनके पास कोई मामला नहीं है। –

उत्तर

104

तारों पर कई "विधियां" हैं।

>>> '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'] 
+0

हाय। संक्षिप्त उत्तर के लिए धन्यवाद। लेकिन मैं पूंजीकृत शब्दों को वर्गीकृत कैसे करूं? उदाहरण के लिए: 'मिश्रित शब्द'। लगता है कि तीसरा उदाहरण मिश्रित शब्दों के सभी संभावित संयोजनों को फिट करता है, उदाहरण: "mIxEd WoRD" .. –

+5

'hello'ististle() – Stephen

संबंधित मुद्दे