使用 python 将字符串中的某些单词大写
capitalizing some of words in a string using python
actual code I wrote
所以这是我的练习,我有一个列表a = [0, 2, 4]
和一个字符串b = 'this is a sample string'
,问题是根据列表[中给出的位置将b
中的单词大写=15=] 这样输出就是“This is A sample String”。我是这样解决的:
a = [0, 2, 4]
b = 'this is a sample string'
b1 = b.split(' ')
print(b1)
#output is ['this', 'is', 'a', 'sample', 'string']
for x in a:
b1[x] = b1[x].capitalize()
print(b)
# output is=> ['This', 'is', 'A', 'sample', 'String']
b2 = ' '.join(map(str,b))
print(b2)
# output is=> "This is A sample String"
我的问题是:这个修改可以用更小的代码来完成吗?提前致谢
您可以使用带有 enumerate
的列表比较来检查 a
中是否存在索引。
res = ' '.join(i.capitalize() if idx in a else i for idx, i in enumerate(b.split()))
输出
This is A sample String
actual code I wrote
所以这是我的练习,我有一个列表a = [0, 2, 4]
和一个字符串b = 'this is a sample string'
,问题是根据列表[中给出的位置将b
中的单词大写=15=] 这样输出就是“This is A sample String”。我是这样解决的:
a = [0, 2, 4]
b = 'this is a sample string'
b1 = b.split(' ')
print(b1)
#output is ['this', 'is', 'a', 'sample', 'string']
for x in a:
b1[x] = b1[x].capitalize()
print(b)
# output is=> ['This', 'is', 'A', 'sample', 'String']
b2 = ' '.join(map(str,b))
print(b2)
# output is=> "This is A sample String"
我的问题是:这个修改可以用更小的代码来完成吗?提前致谢
您可以使用带有 enumerate
的列表比较来检查 a
中是否存在索引。
res = ' '.join(i.capitalize() if idx in a else i for idx, i in enumerate(b.split()))
输出
This is A sample String