我有一个包含多个字符串的列表。我想大写列表中每个字符串的第一个字母。我怎么能用list方法呢? 或者我必须在这里使用正则表达式?
答案 0 :(得分:1)
只需在每个字符串上调用capitalize
即可。请注意,它会小写其余字母
l = ['This', 'is', 'a', 'list']
print [x.capitalize() for x in l]
['This', 'Is', 'A', 'List']
如果您需要在其他字母上保留大小写,请改为使用
l = ['This', 'is', 'a', 'list', 'BOMBAST']
print [x[0].upper() + x[1:] for x in l]
['This', 'Is', 'A', 'List', 'BOMBAST']
答案 1 :(得分:0)
x=['a', 'test','string']
print [a.title() for a in x]
['A', 'Test', 'String']
由于regex
也被标记,您可以使用以下内容
>>> import re
>>> x=['a', 'test','string']
>>> def repl_func(m):
return m.group(1) + m.group(2).upper()
>>> [re.sub("(^|\s)(\S)", repl_func, a) for a in x]
['A', 'Test', 'String']