def puzzle_to_str(puzzle): d = str_dict(puzzle) w = len(max(d.values(), key=len)) strs = [d[e].rjust(w) for e in puzzle.flat] a = puz.from_list(strs, puzzle.shape) lines = [" ".join(l) for l in a] return "\n".join(lines)
def equal_from_list_with_array(self, a): return all(p.from_list(list(a.flat), a.shape).flat == a.flat)