python usando any () e all () para verificar se uma lista contém um conjunto de valores ou outro

Meu código é para um jogo Tic Tac Toe e verificação de um estado de empate, mas acho que esta questão poderia ser mais útil em um sentido geral.

Eu tenho uma lista que representa o quadro, parece com isso:

board = [1,2,3,4,5,6,7,8,9]

Quando um jogador faz um movimento, o int que ele moveu é substituído por seu marcador ('x' ou 'o'), eu já tenho cheques no lugar para procurar por um estado vencedor, o que eu não posso fazer é checar um draw state, onde nenhum dos valores da lista são ints, mas um estado vencedor não foi definido.

O código que tenho até agora:

if any(board) != playerOne or any(board) != playerTwo:
    print 'continue'
elif all(board) == playerOne or playerTwo:
    print 'Draw'

A instrução if funciona, o elif não, eu acho que o problema é meu 'ou' operador, o que eu quero verificar é: se o item todo na placa é ou um jogador ou um marcador marcador, se eu onde fazer o código:

elif all(board) == playerOne or all(board) == playerTwo:

Eu estaria checando para ver se cada lugar no tabuleiro era o jogador. Um ou todo lugar no tabuleiro é o jogador Dois, o que não será.

Então, como faço para verificar se a placa é ocupada por uma combinação de marcadores playerOne e marcadores playerTwo?

questionAnswers(1)

yourAnswerToTheQuestion