python - 使用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"
我的问题是:这个修改可以用更小的代码来完成吗?提前致谢
解决方案
您可以使用列表比较enumerate
来检查索引是否存在于a
.
res = ' '.join(i.capitalize() if idx in a else i for idx, i in enumerate(b.split()))
输出
This is A sample String
推荐阅读
- c# - CS0029 无法将类型“double”隐式转换为“bool”
- algorithm - 实现的最大并行化(数据结构和算法)
- java - 单击TableView列标题时如何先使用降序排序?
- blazor - 如何拖放 Blazor 组件
- amazon-web-services - 创建 API 网关方法时出错响应:NotFoundException:指定的方法标识符无效
- azure-devops - 如何使用 ADO 扩展将带有值的自定义下拉列表发布到 Devops 工作项表单
- php - 使用页面规则时,高级自定义字段和 WooCommerce 可能发生冲突
- signalr - 安装 signalr 5 nuget 包时出现错误“System.Reflection.TargetInvocationException”
- javascript - 动态生成的对象键不更新
- python-3.x - 熊猫在一列中有多个遮阳篷,如何拆分?