Мне сказали, что использование cmp
функции может быть очень полезным в коде-гольфе . Но, к сожалению, Python 3 не имеет cmp
функции.
Так какой же самый короткий эквивалент cmp
этого работает в Python 3?
Мне сказали, что использование cmp
функции может быть очень полезным в коде-гольфе . Но, к сожалению, Python 3 не имеет cmp
функции.
Так какой же самый короткий эквивалент cmp
этого работает в Python 3?
cmp
или альтернативу в контексте игры в гольф. В противном случае это может быть очень быстро закрыто как общий вопрос программирования.cmp
хотя вопрос задавался для Python 3.cmp(a,b)
в Python 2.Ответы:
Python 3 не имеет
cmp
. Для игры в гольф вы можете сделать11 символов
который теряет 3 символов более
cmp(a,b)
.Забавно, но это тоже «официальный» обходной путь. На странице « Что нового в Python 3» написано «(Если вам действительно нужна
cmp()
функциональность, вы можете использовать выражение(a > b) - (a < b)
как эквивалент дляcmp(a, b)
.)»источник
cmp(exp1,exp2)
на(lambda a,b:(a>b)-(a<b))(exp1,exp2)
.