我想在Python中对字符串列表进行分类,具体取决于它们是大写,小写还是大小写
我该怎么做?
答案 0 :(得分:137)
字符串上有许多“is methods”。 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']
答案 1 :(得分:-1)
我想为此大声使用%let i=3; /*Let's assign 3 to i*/
data _null_;
set get_currency_&i;
if month = &i and code = 'USD' then currency_rate=new_rate;
else currency_rate=1.5;
call symput ('currency_rate', currency_rate);
run;
%put Currency rate is: ¤cy_rate;
Currency rate is: 2.5
模块。特别是在区分大小写的情况下。
我们在编译正则表达式以在具有大量数据的生产环境中使用时使用选项re.IGNORECASE。
re
但是,请尝试始终使用>>> 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']
运算符进行字符串比较,如本文中所述
faster-operation-re-match-or-str
在开始学习python的最佳书籍之一中也详细介绍了