Jogo da velha, python

Sou novo em python e estou tentando fazer um jogo da velha, eu até soube fazer a tabela e preencher corretamente a tabela do jogo, mas eu não estou sabendo fazer o código reconhecer quando algum jogador ganhou. Com esse código, vocês têm alguma ideia de como fazer isso?

#o jogo da velha
#essa 1ª parte é somente uma demonstração dos movimentos:
print('Movimentos'.center(11))
ex_screen = [[[' 1 '],[' 2 '],[' 3 '],[' 4 '],[' 5 '],[' 6 '],[' 7 '],[' 8 '],[' 9 ']],['\n---+---+---\n']]
print(f'{ex_screen[0][0][0]}|{ex_screen[0][1][0]}|{ex_screen[0][2][0]}{ex_screen[1][0]}{ex_screen[0][3][0]}|{ex_screen[0][4][0]}|{ex_screen[0][5][0]}{ex_screen[1][0]}{ex_screen[0][6][0]}|{ex_screen[0][7][0]}|{ex_screen[0][8][0]}')
#aqui, o 1º jogador pode escolher ser X ou O:
plr = input(‘escolha X ou O: ‘).upper().strip()
#esse i coloquei apenas para informar qual partida o jogo está:
i=0
#aqui é a tabela de fato que vai atualizando a cada jogada:
screen, sline = [’ ‘,’ ‘,’ ‘,’ ‘,’ ‘,’ ‘,’ ‘,’ ‘,’ ‘],[’\n---+---+---\n’]

#aqui, começa o jogo de fato:
while True:
    i+=1
    print(f’{i}ª Jogada’.center(11))
    #aqui, o jogador informa a posição que deseja ficar:
    pos = int(input(f’posição para {plr}: '))
    #se o jogador digitar zero o jogo acaba:
    if pos == 0:
        break
    #aqui verifica se a posição escolhida está disponível:
    if screen[pos-1].isspace() == False or pos > 9 or pos < 1:
        while screen[pos-1].isspace() == False:
            print(‘posição já ocupada!’)
            pos = int(input(f’escolha novamente para {plr}: ‘))
        while pos > 9 or pos < 0:
            print(‘posição inválida!’)
            pos = int(input(f’escolha novamente para {plr}: ‘))
        screen.insert(pos-1, f’ {plr} ‘)
        del screen[pos]
    else:
        screen.insert(pos-1, f’ {plr} ‘)
        del screen[pos]
    #aqui apresenta a tabela atualizada com as posições dos jogadores
    print(f’{screen[0]}|{screen[1]}|{screen[2]}{sline[0]}{screen[3]}|{screen[4]}|{screen[5]}{sline[0]}{screen[6]}|{screen[7]}|{screen[8]}’)

print(‘Fim do Jogo’)

Eu tentei fazer o código reconhecer quem ganhou usando listas mas não conseguir.
quem puder me ajudar, de já agradeço.

Cara, pensei em criar uma lista com as sequências corretas para se ganhar, outra com a jogadas do player e por fim percorre a primeira, verificando se o player já executou a combinação. Segue exemplo:

Listas para validação:

# Combinações que declara um vencedor
winner_mapper = [
    # Horizontal
    [ 1, 2, 3], [ 4, 5, 6], [ 7, 8, 9],
    # Vertical
    [ 1, 4, 7], [ 2, 5, 8], [ 3, 6, 9],
    # Diagonal
    [ 1, 5, 9], [ 3, 5, 7]   
]

# Cria uma lista das jogadas do player
player = []

Função que verifica o ganhador:

# Verifica se alguma combinação do player é vencedora
def checkWinner(player):        
    for seq in winner_mapper:
        if seq[0] in player and seq[1] in player and seq[2] in player:
            return True

    return False

No seu loop:

# Validar a jogada do player
player.append(pos)

# Verifica se o player ganhou
if checkWinner(player):
    print ("Aí sim heim cara?!")
    exit()
1 curtida

vlw cara! era justamente isso que eu tava precisando. só precisei fazer uma correção, pois eu to usando só uma variável para os dois jogadores que é mudado sempre entre X e O no final do programa, daí eu precisei mudar a ´primeira lista:
player = []
para:
plrx, plro = [], []
e no final a verificação ficou sendo:

    if plr == 'X':
        plrx.append(pos)
    elif plr == 'O':
        plro.append(pos)
    if checkWinner(plrx):
        print (f'jogador X venceu!')
        exit()
    elif checkWinner(plro):
        print (f'jogador O venceu!')
        exit()

ao invés de:

player.append(pos)
if checkWinner(player):
    print ("Aí sim heim cara?!")
    exit()

mto obg!!!