在python三元组中使用continue?

alv*_*vas 4 python continue ternary conditional-statements

如何在python三元组中使用continue?这甚至可能吗?

例如

>>> for i in range(10):
...     x = i if i == 5 else continue
Run Code Online (Sandbox Code Playgroud)

给一个 SyntaxError: invalid syntax

如果可以继续使用三元组,还有其他方法可以做到这一点:

>>> for i in range(10):
...     if i ==5:
...             x = i #actually i need to run a function given some condition(s)
...     else:
...             continue
... 
>>> x
5
Run Code Online (Sandbox Code Playgroud)

Mar*_*ers 10

你不能; continue是一个语句,条件表达式是一个表达式,您不能在表达式中使用语句.毕竟,该continue语句不会为要返回的条件表达式生成值.

改为使用if 声明:

if i == 5:
    x = i
else:
    continue
Run Code Online (Sandbox Code Playgroud)

或更好:

if i != 5:
    continue
x = i
Run Code Online (Sandbox Code Playgroud)