Fir*_*o99 -1 python python-3.x
是否有一个简单的函数可以比较数字 x 和 y,当 x 小于 y 时返回 -1,当 x 大于 y 时返回 1,当它们相等时返回 0?
如果不是,最短的方法是什么?
Shi*_*Roy 12
Python2 中有一个cmp()方法可以完全满足您的要求,但它在 Python 3 中已不再使用。您可以同样创建此方法:
def compare(a, b):
return (a > b) - (a < b)
Run Code Online (Sandbox Code Playgroud)
这里的文档中已经提到了。
cmp() 函数应该被视为消失,并且不再支持cmp () 特殊方法。根据需要使用lt () 进行排序、eq () 和hash () 以及其他丰富的比较。(如果您确实需要 cmp() 功能,则可以使用表达式 (a > b) - (a < b) 作为 cmp(a, b) 的等效表达式。)