Dokumentacja wbudowanych funkcji max
i min
w języku Python wskazuje, że parametr key
powinien działać tak jak w przypadku funkcji sort
. Innymi słowy, powinien być w stanie to zrobić:Klucz domyślny dla wbudowanych funkcji max/min w języku Python
a = [1, 2, 3, 4]
max(a, key=None)
Jednak to powoduje błąd: TypeError: 'NoneType' object is not callable
Ale jeśli mam zrobić coś podobnego z funkcją sort
, uzyskać oczekiwane rezultaty:
a = [1, 2, 3, 4]
a.sort(key=None)
Nie jest generowany błąd i używany jest sortowanie domyślne. Kilka książek sugeruje, że powinienem być w stanie odejść z takim samym zachowaniem w funkcjach max
i min
. Zobacz ten fragment z Python in a Nutshell.
Czy to naprawdę jest domyślne zachowanie funkcji max
i min
? Tak być powinno? Czy nie powinny pasować do funkcji sortowania?
Dzięki za odpowiedź. Wiedziałem, że rzeczywista implementacja tych funkcji była inna, ale byłem sfrustrowany tym, że cała dokumentacja, którą udało mi się znaleźć, nie spowodowała wyraźnej różnicy. –
Bez problemu. Jeśli to odpowie na twoje pytanie, akceptacja jest zawsze doceniana. –
"klucz" to naprawdę straszna nazwa ... – OlivierBlanvillain