0

我有一个包含几个字符串的列表。我想将列表中每个字符串的第一个字母大写。如何使用列表方法来做到这一点?或者我必须在这里使用正则表达式?

4

2 回答 2

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']
于 2013-08-31T16:17:02.787 回答
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']
于 2013-08-31T16:21:26.710 回答