相关疑难解决方法(0)

理解语法不一致?

我只是偶然发现了python语法中的一个缺陷 - 否则我会遗漏一些东西.

看到这个:

[x for x in range(30) if x % 2 == 0]
Run Code Online (Sandbox Code Playgroud)

但这是一个语法错误:

[x for x in range(30) if x % 2 == 0 else 5]
Run Code Online (Sandbox Code Playgroud)

如果你有一个else条款,你必须写:

[x if x % 2 == 0 else 5 for x in range (30)]
Run Code Online (Sandbox Code Playgroud)

但这是一个语法错误:

[x if x %2 == 0 for x in range(30)]
Run Code Online (Sandbox Code Playgroud)

我错过了什么?为什么这么不一致?

python if-statement list-comprehension python-3.x

11
推荐指数
3
解决办法
205
查看次数