Подтвердить что ты не робот

Как изменить случай первой буквы строки?

s = ['my', 'name']

Я хочу изменить первую букву каждого элемента в верхний регистр.

s = ['my', 'name']
4b9b3361

Ответ 1

Оба .capitalize() и .title(), изменяют другие буквы в строке на нижний регистр.

Вот простая функция, которая только меняет первую букву на верхний регистр и оставляет ее неизменной.

def upcase_first_letter(s):
    return s[0].upper() + s[1:]

Ответ 2

Вы можете использовать метод capitalize():

s = ['my', 'name']
s = [item.capitalize() for item in s]
print s  # print(s) in Python 3

Это напечатает:

['My', 'Name']

Ответ 3

Вы можете использовать 'my'.title(), который вернет 'My'.

Чтобы перебрать полный список, просто нарисуйте его следующим образом:

>>> map(lambda x: x.title(), s)
['My', 'Name']

Фактически, .title() делает все слова начинающимися с верхнего регистра. Если вы хотите строго ограничить его первой буквой, используйте capitalize(). (Это имеет значение, например, в "этом слове", которое изменяется на This Word или This Word)

Ответ 4

Это, вероятно, не имеет значения, но вы можете использовать это вместо строковых методов capitalize() или title(), потому что в дополнение к верхнему регистру первой буквы они также строят остальную часть строки (и это не):

s = map(lambda e: e[:1].upper() + e[1:] if e else '', s)

Ответ 5

Вы можете использовать

for i in range(len(s)):
   s[i]=s[i].capitalize()
print s