擅长:python、mysql、java
<p>您需要初始化您的<code>availableNumbers</code>列表,使其具有与您试图索引到的相同维度,以便添加值。由于空列表中不存在<code>availableNumbers[i][j][k]</code>,因此出现索引错误。另外,您没有将<code>k</code>定义为任何内容。有一种更简单的方法来实现这一点,而不需要初始化空列表。只需使用<code>copy</code>模块,复制一个<code>sudokuGrid</code>,并用它们的潜在值列表替换所有的<code>0</code>元素。在</p>
<pre><code>import copy
sudokuGrid = []
sudokuGrid.append([0, 0, 8, 0, 0, 0, 0, 1, 0])
sudokuGrid.append([0, 9, 0, 0, 0, 0, 0, 0, 0])
sudokuGrid.append([3, 4, 0, 5, 9, 0, 0, 0, 7])
sudokuGrid.append([6, 8, 0, 0, 0, 0, 4, 0, 0])
sudokuGrid.append([0, 0, 0, 0, 7, 0, 0, 0, 0])
sudokuGrid.append([0, 0, 4, 8, 0, 0, 1, 0, 0])
sudokuGrid.append([0, 0, 6, 0, 8, 0, 0, 0, 5])
sudokuGrid.append([0, 5, 1, 0, 0, 0, 0, 2, 0])
sudokuGrid.append([0, 0, 0, 0, 2, 0, 0, 9, 0])
availableNumbers = copy.deepcopy(sudokuGrid)
for i in range(0, len(availableNumbers)):
for x in range(0, len(availableNumbers[i])):
if availableNumbers[i][x] == 0:
availableNumbers[i][x] = [1, 2, 3, 4, 5, 6, 7, 8, 9]
print(availableNumbers)
</code></pre>
<p>输出:</p>
^{pr2}$