Как получить список, используя для l oop в python, и мы должны использовать первую букву каждого элемента с большой буквы? - PullRequest
0 голосов
/ 27 мая 2020

Вам предоставляется список строковых элементов и просят вернуть список, который содержит каждый элемент строки в регистре заголовка, или, другими словами, первый символ строки будет в верхнем регистре, а остальные символы - в нижнем регистре

Пример ввода:

['VARMA', 'raj', 'Gupta', 'SaNdeeP']

Пример вывода

['Varma', 'Raj', 'Gupta', 'Sandeep']

Ответы [ 4 ]

3 голосов
/ 27 мая 2020

Вы можете использовать capitalize() метод string и составить список следующим образом:

data = ['VARMA', 'raj', 'Gupta', 'SaNdeeP']

capitalized = [a.capitalize() for a in data]

print(capitalized)
0 голосов
/ 27 мая 2020
lt = ['VARMA', 'raj', 'Gupta', 'SaNdeeP']

Использование Карта Функция

print(list(map(lambda x : x.title(),lt)))
Output - ['Varma', 'Raj', 'Gupta', 'Sandeep']
0 голосов
/ 27 мая 2020

Ответ @Harun, вероятно, здесь лучший, но в качестве альтернативы и более общего ответа мы можем рассмотреть возможность использования re.sub с функцией обратного вызова:

data = ['VARMA', 'raj', 'Gupta', 'SaNdeeP']
capitalized = [re.sub(r'^(.)(.*)$', lambda m: m.group(1).upper() + m.group(2).lower(), a)
    for a in data]
print(capitalized)

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

['Varma', 'Raj', 'Gupta', 'Sandeep']
0 голосов
/ 27 мая 2020

Использование str.title ()

a = ['VARMA', 'raj', 'Gupta', 'SaNdeeP']
res = [x.title() for x in a]
print(res)
#['Varma', 'Raj', 'Gupta', 'Sandeep']
...