Some suggestions about TTT processing...

Here are some useful lists for processing the TTT data...

The data below assume that a TTT board consists of a string of 9 characters of 'x', 'o', and '_' . 

The board positions are numbered from 0 to 8, in reading order:

0  |  1  |  2
-----------
3  |  4  |  5
-----------
6  |  7  |  8

Here, for instance, the string "x_xoo_x_o" represents the following board:

x |   | x
---------
o | o |
---------
x |   | o

 

Wins = [[0,1,2],[3,4,5],[6,7,8],[0,3,6],[1,4,7],[2,5,8],[0,4,8],[2,4,6]]

# Transformations (rotations are counter-clockwise)
Rot90 = [6,3,0,7,4,1,8,5,2]  # to read this: the symbol in position 0 is moved to position 6, symbol in position 1 is moved to position 3, etc.
Rot180 = [8,7,6,5,4,3,2,1,0]s
Rot270 = [2,5,8,1,4,7,0,3,6]
VertFlip= [2,1,0,5,4,3,8,7,6]
Transformations = [[Rot90],[Rot180],[Rot270],[VertFlip],[Rot90,VertFlip],[Rot180,VertFlip],[Rot270,VertFlip]]

There are 7 unique symmetry transformations, other than the identity, which consist of the 3 pure rotations, a flip, and combinations of a rotation and a flip.  Every other symmetry transformation can be reduced to one of these.