首页 文章

如何检查2d列表中的位置是否存在

提问于
浏览
1

我目前正在构建一个函数,用于检查板上的位置是否存在并返回布尔值 . 该位置作为元组给出,并且板也称为拼图作为2d列表给出 .

例如:

is_valid_location((1,1),[[None]])→False is_valid_location((1,1),[[1,2],[2,1]])→True(因为2x2拼图有一行1和col 1)is_valid_location((1,2),[[1,2],[2,1]])→False

我当前的代码试图将元组的索引0指定为x,将元组的索引1指定为y . 然后我试图返回布尔值 .

def is_valid_location(loc,puzzle):
    location=tuple(loc)
    x=location[0]
    y=location[1]
    return x in range(len(puzzle[0])) and y in range(len(puzzle))

该函数无法正常工作,因为我收到缩进错误,但据我所知,我已正确缩进 . 没有调用任何内置函数,有没有更简单的方法来做到这一点?

2 回答

  • 1

    没有找到缩进错误 . 如果您收到此错误,则主要是在使用标签和空格混合复制粘贴代码时导致的 . 删除所有间距,然后再将它们标记出来 .

    您的功能也可以简化为

    def is_valid_location(loc, puzzle):
        x, y = loc
        return 0 <= x < len(puzzle[0]) and 0 <= y < len(puzzle)
    
  • 0

    您的代码完全按照我将其复制到编辑器时的描述,因此我建议您进一步探索缩进错误 . 您可能正在混合制表符和空格;这可以通过更改文本编辑器的设置来解决,这样它总是用4个空格替换制表符 . 不幸的是,如果没有看到错误的追溯,很难帮助你 .

相关问题