Make list comprehensions more 3.8-pythonic

This commit is contained in:
Dominic Zimmer 2021-07-11 12:27:39 +02:00
parent eba5259afb
commit db2842bd0f

View File

@ -65,13 +65,13 @@ class Sudoku:
self.grid = grid
def _row_values(self, i):
return [ self.grid[i][j].value for j in range(9) if isinstance(self.grid[i][j], FilledCell) ]
return [ cell.value for j in range(9) if isinstance(cell := self.grid[i][j], FilledCell) ]
def _col_values(self, j):
return [ self.grid[i][j].value for i in range(9) if isinstance(self.grid[i][j], FilledCell) ]
return [ cell.value for i in range(9) if isinstance(cell := self.grid[i][j], FilledCell) ]
def _blk_values(self, i,j):
return [ self.grid[(i//3)*3 + ioff ][(j//3)*3 + joff].value for ioff in range(3) for joff in range(3) if isinstance(self.grid[(i//3)*3 + ioff ][(j//3)*3 + joff], FilledCell) ]
return [ cell.value for ioff in range(3) for joff in range(3) if isinstance(cell := self.grid[(i//3)*3 + ioff ][(j//3)*3 + joff], FilledCell) ]
def _possible(self, i, j, v):
return (v not in self._row_values(i)) and (v not in self._col_values(j)) and (v not in self._blk_values(i,j))