Python 如何在二维数组中搜索元素
我想问一下如何检查2D数组与字符串是否存在重复值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 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 !!")