Por que python max ('a', 5) retorna o valor da string?
Rastreando umValueError: cannot convert float NaN to integer
Eu descobri que a linha:
max('a', 5)
max(5, 'a')
retornaráa
em vez de 5.
No caso acima, usei a sequência de exemploa
mas no meu caso atual a string é umaNaN
(o resultado de um processo de ajuste que falhou ao convergir).
Qual é a lógica por trás desse comportamento? Por que o python não reconhece automaticamente que existe uma string e que ele deve retornar o número?
Ainda mais curioso é quemin()
faz trabalhar como esperado desde:
min('a', 5)
min(5, 'a')
retorna5
.