有没有更简洁的方法在python中编写这个条件?

0x9*_*x90 1 python conditional-operator python-2.7

>>> def accept(d1, d2):
    if somefunc(d1,d2) > 32:
        h = 1
    else:
        h = 0
    return h
Run Code Online (Sandbox Code Playgroud)

Python有三元条件运算符吗?没有为想要返回值的案例提供解决方案.基于λ的溶液是优选的.

Bre*_*arn 5

"返回值场景"与其他任何场景都没有区别:

return 1 if somefunc(d1, d2) > 32 else 0
Run Code Online (Sandbox Code Playgroud)

如果由于某种原因你想要一个lambda:

lambda d1, d2: 1 if somefunc(d1, d2) > 32 else 0
Run Code Online (Sandbox Code Playgroud)

请注意,lambda与定义的函数没有什么不同def,返回相同的东西.Lambdas只是常规功能.