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

如何修复Python字符串逐个大小写转换函数的报错问题

修复字符串大小写互换函数的报错问题

错误原因

Python中的字符串属于不可变序列类型,无法直接通过words[i] = ...这种索引赋值的方式修改字符串里的单个字符,这就是代码运行报错的核心原因。

修复方案1:转为列表处理(直观易懂)

先把字符串转换成可变的列表,修改完成后再转回字符串:

def Upper_lower(words):
    word_list = list(words)
    for i in range(len(word_list)):
        if word_list[i].isupper():
            word_list[i] = word_list[i].lower()
        else:
            word_list[i] = word_list[i].upper()
    return ''.join(word_list)

# 测试
print(Upper_lower('AAABBBcccddd'))  # 输出: aaabbbCCCDDD

注:判断条件里的== True可以省略,直接用if word_list[i].isupper()更简洁。

修复方案2:使用生成器表达式(Pythonic写法)

遍历每个字符并完成大小写转换,最后用join拼接成字符串,代码更简洁高效:

def Upper_lower(words):
    return ''.join(c.lower() if c.isupper() else c.upper() for c in words)

# 测试
print(Upper_lower('AAABBBcccddd'))  # 输出: aaabbbCCCDDD

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.20 19:27:33