如何解决列表中字符串替换字符时的‘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
相关产品推荐
相关产品推荐

