替换二维列表中的元素

时间:2016-04-18 13:28:37

标签: python python-3.x

我继续制作我的数独求解器,但我的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函数找到的元素?

2 个答案:

答案 0 :(得分:1)

为什么不简单地使用索引更改列表项的值?

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

答案 1 :(得分:0)

你有没有听说过熊猫' dataframes?我认为它应该对你的问题很有效。这将创建您的网格(your_initial_grid是您网格行的列表)。

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

然后您可以通过以下方式轻松更改案例值:

grid.iloc[i,j] = whatever_number_you_want