Как использовать заглавные буквы в списке? - PullRequest
0 голосов
/ 23 мая 2019

У меня есть список, содержащий несколько строк. Все строки начинаются с "*", а затем "[" с пробелом между ними. Как это:

* [context......

Теперь я хотел бы использовать заглавную букву "с". Другими словами, я хотел бы использовать первую букву всех строк. Но так как я использую символы в первую очередь. функция Capitalize () не будет работать.

То, что я пытался сделать, это использовать заглавную букву индекса следующим образом:

list = [i[3].capitalize() for i in list]

Вывод этого - только заглавные буквы. И не остальная часть строки.

Ответы [ 4 ]

2 голосов
/ 23 мая 2019

Самый простой способ - использовать .title(), который игнорирует не алфавитные символы:

>>> my_list = ['* [foo]', '* [bar]']
>>> map(lambda s: s.title(), my_list)
['* [Foo]', '* [Bar]']

или использование списка:

>>> [s.title() for s in my_list]
['* [Foo]', '* [Bar]']
1 голос
/ 23 мая 2019

ПОПРОБУЙТЕ: -

list1 = [ "* [context......", "* [context1......" ]

for x in list1:

    print(x[:3] + x[3].capitalize() + x[4:])

ВЫХОД: -

* [Context......
* [Context1......
1 голос
/ 23 мая 2019

Вот пример использования upper() вместо прописных.Ссылка от здесь

test = ['* [context......', '* [bontext......', '* [zontext......']

test = [i[:3] + i[3:4].upper() + i[4:] for i in test]
1 голос
/ 23 мая 2019

Если все они начнут так, то я думаю, что это будет делать то, что вы хотите.

list_ = [i[:3] + i[3:].capitalize() for i in list_]

Обратите внимание, что вы не должны использовать встроенное ключевое слово list какимя переменной (оно охватывает ее назначение в коде).

...