Verifique se coluna ou diagonal na matriz = x (Sem Numpy)

Eu posso usar esse código para verificar se uma linha em uma matriz = x:

q = [[1,2,1],[1,2,1],[2,1,2]]
answer = [sum(row) for row in q]
for i in range(0, len(q)):
    if answer[i] == 6:
        print "Player 2 won!"
    if answer[i] == 3:
        print "Player 1 won!"
if answer[i] != 6 and 3:
    print "It's a tie!"

Como posso verificar se minha matriz possui uma diagonal ou coluna que = x, sem usar o Numpy (Existe uma maneira matemática de fazer isso, como mostrado acima?)

Exemplo: (X = algo que não importa)

q = [[1,X,X],[1,X,X],[1,X,X]] Deve imprimirTrue

q = [[1,X,X],[X,1,X],[X,X,1]] Deve imprimirTrue (Diagonal)

q = [[X,X,1],[X,1,X],[1,X,X]] Deve imprimirTrue (Diagonal {Outro})

q = [[1,X,X],[X,1,X],[X,1,X]] Deve imprimirFalse

q = [[X,1,X],[X,1,X],[X,1,X]] Deve imprimirTrue (Horizontal)

Como a matriz deve ter suas "condições vencedoras"

questionAnswers(2)

yourAnswerToTheQuestion