我在哪里可以找到Python中列表理解的形式语法?

时间:2012-10-26 05:52:09

标签: python grammar

我在哪里可以找到Python的形式语法,特别是List Comprehension?

1 个答案:

答案 0 :(得分:3)

这是完整的语法(Python 2.7.3):

http://docs.python.org/reference/grammar.html

以下规则涉及解析列表推导的一般语法:

首先,解析整个表达式,即atom

atom: ('(' [yield_expr|testlist_comp] ')' |
       '[' [listmaker] ']' |
       '{' [dictorsetmaker] '}' |
       '`' testlist1 '`' |
       NAME | NUMBER | STRING+)

其次,要解析理解的实际内容,listmaker及其使用的规则:

listmaker: test ( list_for | (',' test)* [','] )
list_iter: list_for | list_if
list_for: 'for' exprlist 'in' testlist_safe [list_iter]
list_if: 'if' old_test [list_iter]

除此之外,您还可以回到一般的解析表达式,例如: exprlist