我有一个数独板作为这个列表,
board = [ ['.', 2, '.', '.', '.', 4, 3, '.', '.'],
[9, '.', '.', '.', 2, '.', '.', '.', 8],
['.', '.', '.', 6, '.', 9, '.', 5, '.'],
['.', '.', '.', '.', '.', '.', '.', '.', 1],
['.', 7, 2, 5, '.', 3, 6, 8, '.'],
[6, '.', '.', '.', '.', '.', '.', '.', '.'],
['.', 8, '.', 2, '.', 5, '.', '.', '.'],
[1, '.', '.', '.', 9, '.', '.', '.', 3],
['.', '.', 9, 8, '.', '.', '.', 6, '.'] ]
我可以很容易地检查某个值是否存在于一行中,或者不是那么容易,
value in board[row][:]但我不能对列做同样的事情。例如,当我编写value in board[:][col] 它时,它会以某种方式选择row, 以该值作为索引,col然后尝试找到指定的value.
例如,print(board[6][:])给出['.', 8, '.', 2, '.', 5, '.', '.', '.'](第 7 行)和print(board[:][2])给出['.', '.', '.', 6, '.', 9, '.', 5, '.'](第 3 行)。我真的很困惑为什么会这样。
我的问题是,对于列是否有等效的语法board[row][:]?更重要的是为什么board[:][col]不起作用?