我有一个python的列表,我想要迭代并大写每个不是'A‘的字母,所以转一下这个列表:
['albert', 'angela', 'leo', 'bridget']进入:
['aLBERT', 'aNGELa', 'LEO', 'BRIDGET']发布于 2011-10-04 22:44:13
所有现有的答案似乎都想要单独对字符进行操作。将单词作为一个整体来处理会更简单、更容易:
>>> the_list = ['albert', 'angela', 'leo', 'bridget']
>>> [ word.upper().replace('A', 'a') for word in the_list]
['aLBERT', 'aNGELa', 'LEO', 'BRIDGET']发布于 2011-10-04 21:53:00
[''.join(c.upper() if c != 'a' else c for c in word) for word in the_list]发布于 2011-10-04 21:55:50
>>> import re
>>> sl = ['albert', 'angela', 'leo', 'bridget']
>>> [re.sub('[^a]+', lambda m: m.group(0).upper(), s) for s in sl]
['aLBERT', 'aNGELa', 'LEO', 'BRIDGET']https://stackoverflow.com/questions/7648878
复制相似问题