【发布时间】:2020-12-12 06:02:34
【问题描述】:
我有一个简单的列表理解,“else 0”错误地放在最后。我把它放在try 块中,所以我期待异常被捕获并执行打印语句。但是,它返回SyntaxError: invalid syntax。代码如下:
try:
[2 * x for x in [1,2,3] if x > 1 else 0]
except SyntaxError:
print("Why isn't this printed?")
为什么没有捕捉到错误?
【问题讨论】:
-
[2 * x if x>1 else 0 for x in [1,2,3]]? -
问题在于您的列表理解的语法。
-
@BrianMcCutchon 这似乎是原因。感谢您链接。
标签: python