如何在单行中使用 "continue" if else 在 for 循环中
How to use "continue" in single line if esle within a for loop
我有一个 for 循环,其中有一个简单的单行 if 条件。
我想在 else 部分使用 continue 选项。
这不起作用:
def defA() :
return "yes"
flag = False
for x in range(4) :
value = defA() if flag else continue
^
SyntaxError: invalid syntax
工作代码:
for x in range(4) :
if flag :
defA()
else :
continue
Python 对控制结构使用缩进。 python.
无法执行您想执行的操作
Python中没有单行if条件。您在第一个示例中拥有的是 ternary expression。
您正在尝试将 continue
分配给名为 value
的变量,这没有任何意义,因此出现语法错误。
你能解释一下吗,因为你想要达到的目标可能是专家可以建议你一个更好的选择。对我来说,在此处添加 else 没有任何意义,因为您只是将 else 添加到继续,这在任何情况下都会发生如果条件。
无论如何,如果我没猜错的话,你要找的是list comprehension。这是一个如何使用它的工作示例,
def defA() :
return "yes"
flag = True
value = [defA() if flag else 'No' for x in range(4)] #If you need to use else
value = [defA() for x in range(4) if flag] #If there is no need for else
我有一个 for 循环,其中有一个简单的单行 if 条件。 我想在 else 部分使用 continue 选项。
这不起作用:
def defA() :
return "yes"
flag = False
for x in range(4) :
value = defA() if flag else continue
^
SyntaxError: invalid syntax
工作代码:
for x in range(4) :
if flag :
defA()
else :
continue
Python 对控制结构使用缩进。 python.
无法执行您想执行的操作Python中没有单行if条件。您在第一个示例中拥有的是 ternary expression。
您正在尝试将 continue
分配给名为 value
的变量,这没有任何意义,因此出现语法错误。
你能解释一下吗,因为你想要达到的目标可能是专家可以建议你一个更好的选择。对我来说,在此处添加 else 没有任何意义,因为您只是将 else 添加到继续,这在任何情况下都会发生如果条件。
无论如何,如果我没猜错的话,你要找的是list comprehension。这是一个如何使用它的工作示例,
def defA() :
return "yes"
flag = True
value = [defA() if flag else 'No' for x in range(4)] #If you need to use else
value = [defA() for x in range(4) if flag] #If there is no need for else