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

Python3赋值嵌套列表时报str不支持项赋值的问题求助

问题修复方案

错误根因

你当前初始化得到的board是字符串组成的一维列表,board[guess_row]取到的是字符串对象,Python中字符串属于不可变对象,不支持直接修改指定索引位的字符,该规则在Python2、Python3中完全一致,你之前在Python2中可以正常运行,大概率是此前的初始化逻辑和当前给出的写法不同。

适配Python3的修改方法

仅需要调整初始化逻辑,将每一行从字符串改为可变的列表类型即可:

board = []

for i in range(5):
  board.append(["O"] * 5)

修改后board就变成了二维列表,board[guess_row]取到的是列表对象,支持直接修改指定位置的元素,执行board[guess_row][guess_col] = "X"不会再报错。

补充说明

如果需要按原格式打印棋盘,可以遍历每一行用join方法拼接成字符串输出:

for row in board:
    print(' '.join(row))

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.02 20:18:05