Python 可以使用“return x if y”这一行吗?

用户11975758

这个答案中说你可以return A+1 if A > B else A-1在 python 3 中使用,但是当我尝试使用它时:

def max3(a,b,c):
    return a if a > b and c
    return b if b > c else c

我收到无效的语法错误。我试过在网上查找,但我找不到任何关于此的内容,如果有人可以提供帮助,我将不胜感激。

谢谢。

施沃巴塞尔

您可以嵌套条件表达式

def max3(a,b,c):
    return a if a > b and a > c else b if b > c else c

只要确保始终有else一部分,否则表达式将不知道要评估什么。这是否是最易读的解决方案充其量是值得怀疑的。最少的行/字节没有价格(除非您正在玩代码高尔夫)。

还要注意的a > b and c一样的a > b and a > c您可以将其缩短为b < a > c,但是可读性将受到另一次打击。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

您可以使用 Pandas 使用 Python 将多行按列值分组为一行吗?

在Unix“较少”中,我可以跳到不包含X的下一行吗?

有人可以向我解释这一行吗?c | = 1 << i;

有人可以向我解释这一行吗?

下面的python代码可以改成一行吗?#Python

React.js:有人可以向我详细说明这一行吗

在开发Python扩展模块时可以使用最新的C2x语言功能吗?

我可以使用jquery .each()计算表单中的每一行吗?

Python有什么理由跳过一行吗?

我可以在reflog中添加一行吗?

可以将此VBA语句写成一行吗?

您可以将goto放入一行吗?

可以将此for循环减少为一行吗?

这个If语句可以写成一行吗?

在Python 2.x中可以使用*来转储并行分配中的超额收益吗?

需要帮助理解一行代码如何使用最大 y 坐标在 python 中找到相应的 X 值

LiteIDE x14完全可以使用吗?

可以使用while函数创建x个对象吗?

您可以选择使用 BufferedWriter 写入哪一行吗?

使用 sqlalchemy one() 函数可以从数据库引擎返回多于一行吗?

如果源代码可翻译但设置不可翻译,我可以使用 Wheel 将 Python 3.x 包传送到 2.7 吗?

我可以使用ImageMagick确定X和Y轴的长度吗?

您可以使用LiveCharts显示带有x和y值对的线系列吗?

Windows 10的界面是否可以使用语言X,但默认键盘布局可以使用语言Y?

有人可以解释一下Scala的这一行编码吗

在Python中,函数中可以使用循环吗?

可以使用python模拟进行生产吗?

我可以使用python安装Docker容器吗?

可以使用对象调用python内置函数吗