首页 > 解决方案 > 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

标签: python

解决方案


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

推荐阅读