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

Python列表中字符串修改不生效 奇数索引字符转大写问题求助

代码问题排查与修复

核心错误点

  • Python 字符串是不可变类型,调用replace()方法不会修改原字符串,只会返回修改后的新字符串,你的代码没有接收这个返回值赋值,修改自然不会生效
  • 无法直接对字符串的单个下标元素赋值修改,要修改字符串内容需要先转为列表,修改完成后再拼接为新字符串
  • 当前判断条件j%2 == 0匹配的是Python索引体系中的偶数位(索引从0开始计数:0、2、4...),如果你的需求是奇数索引(1、3、5...)转大写,需要把条件改为j%2 == 1,如果是日常计数的第1、3、5位转大写,可保留原有判断条件

修复后代码

list1 = []
x = int(input("Enter the size of list : "))
for i in range(x):
    temp = str(input("Enter the element you wish to insert : "))
    list1.append(temp)

for i in range(x):
    # 将字符串转为可变的列表
    char_list = list(list1[i])
    size = len(char_list)
    for j in range(size):
        # 此处为奇数索引(1、3、5...)转大写,如需日常计数的奇数位,改为j%2 ==0即可
        if j % 2 == 1:
            char_list[j] = char_list[j].upper()
    # 把修改后的列表拼接回字符串,替换原列表中的元素
    list1[i] = ''.join(char_list)

print(list1)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.07 01:27:03