我在python中没有 if
语句的语法:
>> z=[0 if all([2<3,6<7]) else sth] #Correct
>>
>> z=[0 if all([2<3,6<7])] #Wrong
File "<stdin>", line 1
z=[0 if all([2<3,6<7])]
^
SyntaxError: invalid syntax
>>
我不知道这种语法以及
Correct
行和Wrong
行之间的区别吗?
最佳答案
您使用的是正确的A if condition else B
语法,该语法返回要分配给z
变量的表达式
在错误的代码中,您忽略了else
子句,因此在无法满足您的条件all([2<3,6<7])
的情况下,Python无法猜测该放什么,这是行不通的,因此不允许
如果您只想在这种情况下设置一个值,则:
if <condition>:
z = [0]
或者,如果您喜欢单线:
if <condition>: z = [0]
关于python - Python if语句语法错误问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28039026/