Python 无法将字符串指定给列表以操作值 当前游戏=[ [y',1,1], [1, 1, 1], [1, 1, 1] ] 当前游戏[0][0][0]=“X” 打印(当前游戏)

Python 无法将字符串指定给列表以操作值 当前游戏=[ [y',1,1], [1, 1, 1], [1, 1, 1] ] 当前游戏[0][0][0]=“X” 打印(当前游戏),python,string,list,tuples,Python,String,List,Tuples,当我运行代码时,这会给我一个错误。“TypeError:'str'对象不支持项分配”查看您所写的内容并将其分解: 当前游戏[0]指 ['y', 1, 1] 'y' 而当前游戏[0][0]指的是 ['y', 1, 1] 'y' 因此,current_game[0][0][0]指的是字符串的第一个字母(长度为1) 您试图更改该字符串的第一个字母,但在Python中字符串是不可变的 我认为您可能打算替换列表中的字符串,而不是修改它。在这种情况下,请删除一级阵列访问: current_game[

当我运行代码时,这会给我一个错误。“TypeError:'str'对象不支持项分配”

查看您所写的内容并将其分解:

当前游戏[0]

['y', 1, 1]
'y'
当前游戏[0][0]
指的是

['y', 1, 1]
'y'
因此,
current_game[0][0][0]
指的是字符串的第一个字母(长度为1)

您试图更改该字符串的第一个字母,但在Python中字符串是不可变的

我认为您可能打算替换列表中的字符串,而不是修改它。在这种情况下,请删除一级阵列访问:

current_game[0][0] = "X"

当前游戏是一个2D列表。你可以做
current_game[0][0]=“X”
当我的IDE填充在外方括号中时,我认为这是一个三维数组,以区别于元组。阅读评论后,我意识到这是一个2D阵列!谢谢