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

如何修改Python字典中字符串的指定索引位置字符?

问题原因与解决方法

为什么原代码无法运行?

Python中的字符串是不可变类型,你不能直接通过row["1"][z] = "O"这种方式修改字符串的单个字符,运行这段代码会直接抛出TypeError: 'str' object does not support item assignment错误。

正确的修改方法

要修改字符串指定位置的字符,需要先把字符串转换成可变的列表,修改完成后再转回字符串,最后重新赋值给字典对应的键:

代码示例(匹配你原代码的索引逻辑:修改索引1、4、7的位置)

row = {"1": "aaaaaaaaaaaaaaaaaaaaaaaaaaa"}

# 将字符串转为可变列表
str_list = list(row["1"])
# 遍历目标索引并修改
for z in range(1, 8, 3):
    str_list[z] = "O"
# 把列表转回字符串,重新赋值给字典
row["1"] = "".join(str_list)

# 验证结果
print(row["1"])  # 输出:aOaaOaaOaaaaaaaaaaaaaaaaaa

如果你实际想修改的是「从1开始计数的第1、4、7位」(即字符串的第1、4、7个字符,对应索引0、3、6)

只需要调整遍历的索引范围即可:

row = {"1": "aaaaaaaaaaaaaaaaaaaaaaaaaaa"}

str_list = list(row["1"])
# 索引0、3、6对应第1、4、7位(从1计数)
for z in range(0, 7, 3):
    str_list[z] = "O"
row["1"] = "".join(str_list)

print(row["1"])  # 输出:OaaOaaOaaaaaaaaaaaaaaaaaaa

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.26 00:05:12