如何将列表中字符串的某些索引大写?
How to capitalize certain index of a string in a list?
我有一个包含多个 stings 的列表。
这些字符串都以“*”开头,然后是“[”,中间是 space。像这样:
* [context......
现在我想大写"c"。
换句话说,我想将所有字符串的第一个字母大写。但是因为我首先使用符号。 Capitalize() 函数将不起作用。
我试过的是像这样大写索引:
list = [i[3].capitalize() for i in list]
它的输出只是大写字母。而不是字符串的其余部分。
如果他们都是这样开始的,那么我想这会如你所愿。
list_ = [i[:3] + i[3:].capitalize() for i in list_]
请注意,您不应使用内置关键字 list
作为变量名(它涵盖了代码中的用途)。
尝试:-
list1 = [ "* [context......", "* [context1......" ]
for x in list1:
print(x[:3] + x[3].capitalize() + x[4:])
输出:-
* [Context......
* [Context1......
这是一个使用 upper()
而不是大写的示例。参考资料来自 here
test = ['* [context......', '* [bontext......', '* [zontext......']
test = [i[:3] + i[3:4].upper() + i[4:] for i in test]
最简单的方法是使用 .title()
忽略 non-alphabetical 个字符:
>>> my_list = ['* [foo]', '* [bar]']
>>> map(lambda s: s.title(), my_list)
['* [Foo]', '* [Bar]']
或使用列表理解:
>>> [s.title() for s in my_list]
['* [Foo]', '* [Bar]']
我有一个包含多个 stings 的列表。 这些字符串都以“*”开头,然后是“[”,中间是 space。像这样:
* [context......
现在我想大写"c"。 换句话说,我想将所有字符串的第一个字母大写。但是因为我首先使用符号。 Capitalize() 函数将不起作用。
我试过的是像这样大写索引:
list = [i[3].capitalize() for i in list]
它的输出只是大写字母。而不是字符串的其余部分。
如果他们都是这样开始的,那么我想这会如你所愿。
list_ = [i[:3] + i[3:].capitalize() for i in list_]
请注意,您不应使用内置关键字 list
作为变量名(它涵盖了代码中的用途)。
尝试:-
list1 = [ "* [context......", "* [context1......" ]
for x in list1:
print(x[:3] + x[3].capitalize() + x[4:])
输出:-
* [Context......
* [Context1......
这是一个使用 upper()
而不是大写的示例。参考资料来自 here
test = ['* [context......', '* [bontext......', '* [zontext......']
test = [i[:3] + i[3:4].upper() + i[4:] for i in test]
最简单的方法是使用 .title()
忽略 non-alphabetical 个字符:
>>> my_list = ['* [foo]', '* [bar]']
>>> map(lambda s: s.title(), my_list)
['* [Foo]', '* [Bar]']
或使用列表理解:
>>> [s.title() for s in my_list]
['* [Foo]', '* [Bar]']