我试图通过迷宫追踪pacman制造的路径。迷宫位于列表清单中。我有一个(基本上)由pacman通过迷宫所采用的路径的链表。当我循环遍历列表时,我想将链接列表中的每个值更改为'*'
。我不断得到错误TypeError: 'str' object does not support item assignment
,经过一些研究,我发现数组是不可变的,我每次都要重写数组或追加它。我有一个简单的方法在python中执行此操作吗?
这是我到目前为止的代码:
while(pacman_r != originalR or pacman_c != originalC):
i = i + 1
path.append([pacman_r, pacman_c])
grid[pacman_r][pacman_c] = '*'
pacman_r = cellGrid[pacman_r][pacman_c].parentx
pacman_c = cellGrid[pacman_r][pacman_c].parenty
我在第4行遇到问题。
答案 0 :(得分:1)
这不起作用的原因是因为您正在尝试就地编辑str
对象(在python中是不可变的)。相反,你可以将整个事物重新分配给有意义的东西,如:
grid[pacman_r] = grid[pacman_r][:pacman_c] + '*' + grid[pacman_r][pacman_c+1:]
我没有对此进行测试,但是将列表分配给另一个列表应该有效。