为什么python接受表达式[代码]?它的起源是什么?
我写了这个表达式为什么python接受表达式[代码]?它的起源是什么?,python,Python,我写了这个表达式 [0 for j in range(4)] python接受它作为列表的定义,但当我编写这个表达式时: 0 for j in range(4) 这会引起一个错误 它的机制是什么?它起源于哪种语言?它来自函数式编程,即LISP吗?Java或C中的等价物是什么 编辑:与回答的问题不同的是,马的左半部并没有,只有右半部 [code] 我还对列表理解的起源和其他编程语言中的等价物感兴趣。[0代表范围(4)中的j)]是一个例子。这是非常有效的Python语法 另一个表达式根本不是表
[0 for j in range(4)]
python接受它作为列表的定义,但当我编写这个表达式时:
0 for j in range(4)
这会引起一个错误
它的机制是什么?它起源于哪种语言?它来自函数式编程,即LISP吗?Java或C中的等价物是什么
编辑:与回答的问题不同的是,马的左半部并没有,只有右半部
[code]
我还对列表理解的起源和其他编程语言中的等价物感兴趣。[0代表范围(4)中的j)]
是一个例子。这是非常有效的Python语法
另一个表达式根本不是表达式。这个想法来自Haskell。请注意,您可以创建一个带括号的生成器表达式:
(0表示范围(4)中的j))
。定义语法的PEP:@AshwiniChaudhary:我不确定Python开发人员是否直接从Haskell处获得它。NPL中已经存在这个概念和名称,请参见@MartijnPieters,尽管很难说Greg Ewing在添加相关补丁时想到了Haskell。