Python中使用pass关键字的三元表达式

4

我有一个有效的条件语句:

if True:
    pass
else:
    continue

我希望将它转换为三元表达式:

pass if True else continue

然而,Python不允许这样做。能否有人帮忙吗?
谢谢!

1
可能是Python是否有三元条件运算符?的重复问题。 - Dinesh Pundkar
1
你的例子完全没有意义。 - Stefan Pochmann
3个回答

3

passcontinue是语句,不能在三元运算符中使用,因为运算符期望表达式而不是语句。在Python中,语句不会评估为值。

尽管如此,你仍然可以像这样缩短你提出的条件:

if False: continue

1
三元表达式用于计算值;passcontinue都不是值。

1
要点1: 你确定你的条件正确吗?因为if True将永远是True,代码永远不会进入else块。 要点2: passcontinue不是表达式或值,而是一种操作。你不能在一行中使用它们。相反,如果你使用3 if x else 4 <-- 它会起作用。

我有一个布尔值 is_string,而不是 True。所以如果 is_string 为真,则跳过,否则继续执行。 - Kodiak North

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接