s = ['my', 'name']
我想将每个元素的第一个字母更改为大写。
s = ['My', 'Name']
.capitalize() 和 .title() 都将字符串中的其他字母更改为小写。
这是一个简单的函数,它只将第一个字母更改为大写,其余的保持不变。
def upcase_first_letter(s):
return s[0].upper() + s[1:]
您可以使用capitalize()方法:
s = ['my', 'name']
s = [item.capitalize() for item in s]
print s # print(s) in Python 3
这将打印:
['My', 'Name']
您可以使用'my'.title()
which will return 'My'
。
要查看完整列表,只需像这样映射它:
>>> map(lambda x: x.title(), s)
['My', 'Name']
实际上,.title()
使所有单词都以大写开头。如果您想严格限制它的第一个字母,请capitalize()
改用。(这会有所不同,例如将“this word”更改为This Word
or This word
)
这可能无关紧要,但是您可能希望使用 this 而不是capitalize()
ortitle()
字符串方法,因为除了将第一个字母大写之外,它们还将字符串的其余部分小写(这不会):
s = map(lambda e: e[:1].upper() + e[1:] if e else '', s)
注意:在 Python 3 中,您需要使用:
s = list(map(lambda e: e[:1].upper() + e[1:] if e else '', s))
因为map()
返回一个迭代器,它将函数应用于 iterable 的每个项目,而不是list
像在 Python 2 中那样(所以你必须自己把它变成一个)。
您可以使用
for i in range(len(s)):
s[i]=s[i].capitalize()
print s