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

如何解决列表中字符串替换字符时的‘str不支持元素赋值’错误?

问题解决方法

报错原因

你的列表l中的每个元素都是字符串(str),而Python里字符串是不可变类型——无法直接通过索引修改字符串中的单个字符,这就是'str' object does not support item assignment错误的根源。

解决方案

针对两种需求分别处理:

1. 修改指定位置的字符为'2'

先把目标字符串转成可变的列表,修改后再转回字符串替换原列表元素:

# 假设要修改第y行第x列的字符
row = list(l[y])  # 将字符串转为列表(列表是可变类型)
row[x] = '2'      # 修改指定位置的元素
l[y] = ''.join(row)  # 将列表转回字符串,替换原列表中的对应行

2. 替换该行所有空格为'2'

直接对整行字符串调用replace方法,生成新字符串后替换原列表元素:

l[y] = l[y].replace(' ', '2')

示例验证

以你的l为例,若要修改第2行(索引1)第3个字符(索引2)为'2',执行代码后:
原行'120000001'会变为'122000001',列表l的内容更新为:

['111111111',
 '122000001',
 '100000001',
 '100000001',
 '111111111'
]

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.02 16:32:32