나는 스도쿠 (Sudoku) 해결사를 만들려고 노력하고 있으며, 순간적으로 나는 그것이 해결 되었는가를 확인하는 부분을 만들고 있지만, abit 붙어있다. 그리드는 (9 * 9), 그리고 내가하는 그룹화 행, 열 및 박스, 등으로 사전이 81 개 숫자의 목록으로 구성됩니다 사전 목록이 다른 목록과 같은지 확인 하시겠습니까?
self.rows = {'toptop':self.board[0:9],'topmid':self.board[9:18],'topbottom':self.board[18:27],
'midtop':self.board[27:36],'midmid':self.board[36:45],'midbottom':self.board[45:54]
, 내가 함께 붙어있어 비트 각 행 또는 열 또는 상자에 1-9가 있는지 확인합니다. 나는 실험을 해본 결과 시도했습니다.
self.winning = [1,2,3,4,5,6,7,8,9]
[x for x in self.rows.values() if (x == y for y in self.winning)]
하지만 모든 값이 행으로 그룹화되었습니다. 이것에 대한 변형도 시도해 보았고, 일부는 1-9의 숫자를 가진 목록을 반환했지만 중복 된 경우가 많았습니다. 독점적으로 1-9 목록을 표시하지 않을 것입니다. 내가 어떻게 이걸 얻을 수 있니? 감사합니다
난 당신이==
과 목록을 비교 할 수 있다고 생각하지 않지만,이 같은 일을해야
[python sets] (http://docs.python.org/library/sets.html)을 조사해야합니다. – hd1
Spoiler : 해결사를 준비한 후 "Norvig sudoku"에 대한 Google – georg