Kalka powrotem ValueError: cannot convert float NaN to integer
I okazało się, że linia:Dlaczego python max ("a", 5) zwraca wartość ciągu?
max('a', 5)
max(5, 'a')
powróci a
zamiast 5.
W powyższym przypadku użyłem przykładowy ciąg a
ale w moim konkretnym przypadku łańcuch jest NaN
(wynik procesu dopasowywania, który się nie zbiegał).
Jakie są przesłanki tego zachowania? Dlaczego Python nie rozpoznaje automatycznie, że jest tam ciąg znaków i że powinien zwrócić numer?
Jeszcze bardziej ciekawy jest fakt, że min()
robi pracy zgodnie z oczekiwaniami od:
min('a', 5)
min(5, 'a')
zwrotów 5
.
Powiązane: [Dlaczego żaden nie jest najmniejszy w pythonie?] (Http: // stackoverflow.com/q/22040724) –
możliwy duplikat [Jak Python porównuje ciąg i int?] (http://stackoverflow.com/questions/3270680/how-does-python-compare-string-and-int) – lightandlight