【发布时间】:2013-11-16 23:33:42
【问题描述】:
我只是偶然发现了 python 语法中的一个缺陷——否则我错过了一些东西。
看这个:
[x for x in range(30) if x % 2 == 0]
但这是一个语法错误:
[x for x in range(30) if x % 2 == 0 else 5]
如果你有一个else 子句,你必须写:
[x if x % 2 == 0 else 5 for x in range (30)]
但这是一个语法错误:
[x if x %2 == 0 for x in range(30)]
我错过了什么?为什么会如此不一致?
【问题讨论】:
标签: python if-statement python-3.x list-comprehension