Python 3:有些反转if语句

Kif*_*sif 1 python-3.x

在我的教科书中,我遇到了这个例子:

lower = (lambda x, y: x if x < y else y)
print(lower ('bb','aa'))
Run Code Online (Sandbox Code Playgroud)

到目前为止我用过

if_stmt ::=  "if" expression ":" suite
         ( "elif" expression ":" suite )*
         ["else" ":" suite]
Run Code Online (Sandbox Code Playgroud)

所以,这个'x if x <y else y'让我大吃一惊.你能指点我:在文档中我可以找到这种结构吗?

先感谢您

Mar*_*agh 5

所以它们被称为"条件表达式",您可以在python 3文档中找到它们,可以在2.5文档的这一部分中找到更清晰的解释.我对条件赋值使用了很多,比如:

level = 1 if logging else 0
Run Code Online (Sandbox Code Playgroud)