2016-04-18 132 views
-1

我继续制作我的数独求解器,但是我的2D列表出现问题。替换2d列表中的元素

我的数独TXT文件看起来像这样:

..3 ... ... 
etc... 

所以在这里,现在,有了这个功能:

def grid_index(grid, value): 
    for i, row in enumerate(grid): 
     for j, cell in enumerate(row): 
      if cell == value: 
       return i, j 
    return -1, -1 
print("Coords:",grid_index(sudoku, ".")) 

我发现谁必须改变第一空元素。输出是(0,0)。

现在,我的意思是要替换元素“。”。乘1(例如)坐标。

我的功能改变的是:

def solve_next_unsolved(sudoku): 
    coords = grid_index(sudoku, ".") # so here i get coordinate to the point element 
    number_to_input = 1 

我应该得到与坐标的元素?如何将grid_index()功能找到的元素更改为1

+1

'数独[coords [0]] [coords [1]] = number_to_input'? – Lafexlos

+0

wtf是啊...它是... -_-请删除此主题! XD – Ravaniss

回答

0

你有没有听说过熊猫的数据框?它应该适合你的问题,我认为。这会创建您的网格(your_initial_grid是您的网格行的列表)。

grid.iloc[i,j] = whatever_number_you_want 
+0

我不知道它是什么。我会看看。感谢您的信息 – Ravaniss

+0

不客气!如果你需要任何信息,请不要犹豫! – ysearka

1

为什么就不能更改使用它的索引列表项的值:

import pandas as pd 
grid = pd.dataframe(your_initial_grid) 

然后你就可以轻易改变的情况下的价值?

grid[i][j] = 1 # Or whatever value you want