使用Lambdas的Python中的比较函数

Joa*_*nge 1 python sorting lambda

我试图理解lambdas并得到了这个想法但是如何为Point2 [x,y]比较定义多个条件,所以类似于:

if x1 < x2: -1
if x1 == x2: 0
if x1 > x2: 1
Run Code Online (Sandbox Code Playgroud)

Joh*_*iss 5

上面的代码相当于:

cmp(x1,x2)
Run Code Online (Sandbox Code Playgroud)

或者(丑陋的)lambda表达式:

lambda x1,x2: 1 if x1>x2 else (0 if x1==x2 else -1)
Run Code Online (Sandbox Code Playgroud)

(仅适用于Python 2.6及更高版本).

通常你应该只为像.这样的函数使用lambda表达式

def fun(...):
    return ...
Run Code Online (Sandbox Code Playgroud)