首页 > 解决方案 > 使用python将字符串中的一些单词大写

问题描述

我写的实际代码

所以这是我的练习,我有一个列表a = [0, 2, 4]和一个字符串b = 'this is a sample string',问题是b根据列表中给出的位置将单词大写,a以便输出为“这是一个示例字符串”。这就是我解决它的方法:

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"

我的问题是:这个修改可以用更小的代码来完成吗?提前致谢

标签: pythonstringlistcapitalization

解决方案


您可以使用列表比较enumerate来检查索引是否存在于a.

res = ' '.join(i.capitalize() if idx in a else i for idx, i in enumerate(b.split()))

输出

This is A sample String

推荐阅读