Oi, Marcelo! Tudo bem com você?
Para te ajudar vai ser preciso explicar melhor como funciona a função max() do python. Essa função pode receber três parâmetros: iterable, default e key.
iterable - recebe um valor iterável, ou seja, uma lista ou tupla. Os elementos nesse parâmetro vão ser comparados e verificado qual deles é o maior.default - recebe um valor padrão a ser retornado caso o iterable esteja vazio.key - recebe uma função de parâmetro único. Esse parâmetro faz com que os elementos de iterable sejam levados um a um para a função que foi definida como parâmetro dela.
Um exemplo é uma função que retorna o valor inverso da entrada e precisamos ver qual o maior valor entre 1 e 5 que sai dessa função. Para isso foi criada a função funcao e colocamos o valor de iterable uma lista de 1 a 5 e a key a função.
def funcao(entrada):
return 1/entrada
print(max([1,2,3,4,5],key=funcao))
#Resultado:
1
A saída nesse print é o valor 1, afinal 1/1 resulta na maior saída da função dentre os elementos dados. Então, o que aconteceu na função max() do exemplo acima é o mesmo que aconteceu na função corretor, ou seja, todos os valores da lista palavras_geradas foram passados, calculados e comparados na função probabilidade.
Eu espero ter te ajudado! Se a dúvida persistir, estarei à disposição.
Bons estudos!
Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓.Bons Estudos!