You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python实现:将列表指定索引位置的字母转为大写

问题原因

Python中的字符串是不可变对象,无法直接通过索引赋值(s[i] = ...)修改单个字符,这就是你的代码无法运行的核心原因。

解决方法

方法1:转为列表修改后转回字符串

这是最直观的方案,利用列表的可变性完成修改:

s = "string"
l = [1, 3]

# 把字符串转成可修改的列表
s_list = list(s)
for i in l:
    s_list[i] = s_list[i].upper()
# 再把列表转回字符串
s = ''.join(s_list)
print(s)  # 输出: sTrIng

方法2:使用列表推导式+枚举

通过枚举字符串的索引和字符,条件判断后直接生成新字符串:

s = "string"
l = [1, 3]

s = ''.join([char.upper() if idx in l else char for idx, char in enumerate(s)])
print(s)  # 输出: sTrIng

如果索引列表l元素较多,建议先转成集合(set(l)),这样idx in l的判断效率会更高:

s = "string"
l = {1, 3}  # 转为集合

s = ''.join([char.upper() if idx in l else char for idx, char in enumerate(s)])
print(s)

内容的提问来源于stack exchange,提问作者stachu grzybiarz

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.12 18:45:47