2015-10-06 40 views
-2

我写这个表达式为什么表达式[code]被python接受?那是什么来源?

[0 for j in range(4)] 

和Python接受它作为定义列表,但是当我写这个表达式:

0 for j in range(4) 

它将引发错误。

什么是它的机制和它来自哪种语言?它来自函数式编程,即。 LISP? Java或C中的等价物是什么?

编辑:从回答问题不同的是,没有骑术的左侧部分,恰到好处部分

[code] 

我也很感兴趣,列表理解和等价物在其他编程语言的起源。

+2

这个想法来自Haskell。 –

+2

请注意,您可以使用圆括号创建一个*生成器表达式*:'(范围(4)中的j为0)'。 – jonrsharpe

+0

定义语法的PEP:https://www.python.org/dev/peps/pep-0202/ –

回答

2

[0 for j in range(4)]list comprehension。这是完全有效的Python语法。

其他表达式根本不是表达式。

相关问题