Python 如何在二维数组中搜索元素

Python 如何在二维数组中搜索元素,python,arrays,Python,Arrays,我想问一下如何检查2D数组与字符串是否存在重复值 //2d array sudokuBoard=[[0 for sudokuRow in range(0,int(boardSize))] for sudokuColumn in range(0,int(boardSize))] 2D阵列将生成一个3x3表格,如下所示: 0|0|0 0|0|0 0|0|0 如何确保在上表中输入值时,它会检查值位置行和列中是否存在重复值 //2d array sudokuBoard=[[0 for sudokuR

我想问一下如何检查2D数组与字符串是否存在重复值

//2d array
sudokuBoard=[[0 for sudokuRow in range(0,int(boardSize))] for sudokuColumn in range(0,int(boardSize))]
2D阵列将生成一个3x3表格,如下所示:

0|0|0
0|0|0
0|0|0
如何确保在上表中输入值时,它会检查值位置行和列中是否存在重复值

//2d array
sudokuBoard=[[0 for sudokuRow in range(0,int(boardSize))] for sudokuColumn in range(0,int(boardSize))]
例如,如果在表中输入“0”,则会出现错误。

请尝试以下操作:

def inBoard(value):
    for row in sudokuBoard:
        if value in row:
            return True
    return False
有了它,您可以执行以下操作:

if inBoard(3):
    print "already in board"
else:
    print "well played"

首先,您需要访问列,这样您就可以使用
zip(*sudokuBoard)
完成该工作,然后对于插入值,您必须在正确的行和列中检查该值是否存在!请注意,您的行位于
sudokuColumn

columns=map(list,zip(*sudokuBoard))
sudokuBoard=[[0 for sudokuRow in range(0,int(boardSize))] for sudokuColumn in range(0,int(boardSize))]

def insert_value(your_list,value,row,col):
  if value not in columns[col] and value not in your_list[row]:
      your_list[row][col]=value
  else:
      raise ValueError("you can not insert a duplicate value !!")