4

Python の正式な文法、具体的には List Comprehension はどこにありますか?

4

1 に答える 1

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

于 2012-10-26T05:53:12.193 に答える