python - Python:检查一个数字是否已经在列表列表的网格中
问题描述
在 Python 中,我正在尝试创建一个重复检查器,它可以检查我输入的数字是否已经在网格中。如果不存在,它应该返回False
。例如,数字1, 8, 9
应该返回False
,其他人应该返回True
。有人能帮我吗?
grid = [[0, 2, 3],
[4, 0, 5],
[6, 7, 0]]
number_rows = len(grid)
def possible(n):
global grid
if number_rows == n:
return False
return True
possible(1) # ---> True
解决方案
number_rows = len(grid)
只计算主列表中的列表数量grid[a,b,c]
。在您的代码中,您正在测试您输入的数字是否等于主列表的长度。使用来测试它是真还是假。n in list
def possible(n):
temp = [a for b in grid for a in b] ##put all the values from the grid into a single layer list
if n in temp:
return False
return True